scheme: light — dark is a deliberate no-op until a dark ramp is approved (see README)

Account CSS v2 — component harness

v2 rules loaded above css/account.css, which sits in @layer legacy. Nothing below uses !important.

Buttons

Min tap target 44px by default — LAT-1627 found controls at 20–27px.

Tier tags — the layer proof

snapshot json deck brief

brief is the proof target: legacy styles .lib-tag.brief at 0-2-0 (blue #1d4ed8) and v2 does not define .brief at all — so it renders blue from legacy, which shows legacy really is loaded. e2e/css-v2-layer-proof.js then injects a v2 .lib-tag rule at 0-1-0 and asserts it wins anyway.

Status

Delivered Failed Queued not billed

Green means state, never brand. Danger is a chip or a link, never a filled button.

Tier 3 override hooks

Same component file, recoloured by an ancestor — no new CSS.

Toolbar — the LibPane chrome, on every list page

Clear all 18 results

Empty facets still render muted (manual §3). The toolbar is a container-query context — search takes a full row below 30rem of its own width, not the viewport's.

Facet panel

StatusClear
Delivered12
Failed3
Queued1
Tags land on new builds automatically.

Empty state

No analyses matchTry clearing a filter, or ask a new question.

Base elements

AnalysisRunsStatus
Did my variant win?1,284Delivered
Churn drivers by cohort96Failed

Numbers are tabular-nums by default; headers are the §2.2 mono micro-label.

Where to start

One email with your data and your question. We take it from there.

Cymple

Data Scientist

Send me your data and question, I’ll send you the analytics.

ds@mcpanalytics.aimcpanalytics.ai

Try it on your own data

14 days free.

The whole platform, every depth. No card, no call, nothing to install.

14 days free. →
mcpanalytics.ai

Send Cymple my data →