A precision design system built for warm, minimal, and highly legible UIs. Every token — color, spacing, radius, and typography — is encoded in the MUI theme so agents produce consistent output across thousands of files.
| variant | font | size | weight | extra |
|---|---|---|---|---|
| h1 | Sans | 4.768rem | 200 | lowercase, -0.03em |
| h2 | Sans | 3.052rem | 200 | lowercase, -0.02em |
| h3 | Sans | 1.953rem | 300 | lowercase, -0.01em |
| h4 | Sans | 1.25rem | 400 | lowercase |
| body1 | Sans | 1rem | 300 | 1.6 line-height |
| body2 | Sans | 0.8rem | 300 | 1.55 line-height |
| subtitle1 | Mono | 0.8rem | 400 | UPPERCASE, +0.1em |
| caption | Mono | 0.64rem | 400 | UPPERCASE, +0.12em |
| button | Mono | 0.64rem | 400 | UPPERCASE, +0.1em |
prefers-reduced-motion.| action | instant response | if async... | on complete |
|---|---|---|---|
| select answer | border highlights, check springs in | save runs in background | silent (optimistic). toast on failure. |
| click button | button compresses (scale 0.98) | spinner, text changes to "saving..." | spinner → check, then default label. |
| navigate | current page fades out | N/A — local | new page fades up. |
| open modal | scale-in from trigger origin | skeleton inside if loading | skeleton → content via fade. |
| delete | confirmation dialog (scale-in) | item fades out optimistically | silent. toast on failure + restore. |
| control area | current | target | priority |
|---|---|---|---|
| incident response | non-existent | embedded | critical |
| data protection | progressing | embedded | high |
| vulnerability mgmt | progressing | embedded | high |
| security training | implemented | embedded | medium |
stroke-dasharray and stroke-dashoffset. Colors match status semantics. Centered text shows value + label.transform and opacity only.| component | bg | border | radius | font | hover |
|---|---|---|---|---|---|
| button (primary) | teBlack | transparent | 6px | Mono, uppercase | bg → teOrange, translateY(-1px) |
| button (outlined) | transparent | teOffWhite | 6px | Mono, uppercase | bg → teCream, border → teLightGray |
| card | teCream | 1px teOffWhite | 12px | Sans, 300 | border → teLightGray, shadowSm |
| chip | teOffWhite | none | 4px | Mono, 0.6rem, uppercase | — |
| input | teWhite | 1px teOffWhite | 6px | Sans, 1rem, 300 | focus: orange border + ring |
| table head | transparent | 2px bottom teBlack | — | Mono, 0.64rem, uppercase | — |
| dialog | teWhite | none | 14px | Sans, 1.25rem, 400 | scale-in entrance |