Visual experiment
Set Membership
Place elements in regions and build unions, intersections and complements.
Design system: brand, colour, type, spacing and components for the Examplicity site and its labs, drawn from the codebase and the current lab standard.
This page is the single design reference for the site and its labs; how to build, adapt and check a lab is on Adapt or create. Shared CSS: token layer and components · lab components. Updated 10 October 2026.
Catalogue card art · app/lab-icon.tsx · 640 × 360 canvas
accent-soft fill, accent border, accent-ink text. Focus is a 3px ink outline, not blue.lab-action.--lab-concept-*-surface); inside a tinted parent use the opaque -fill. Never stack tints. Number tiles and given model values stay white.Marks in the picture · v5
paper; labs sit on canvas with white operated surfaces.bg / border / text / hover — e.g. maths #edf8f3 / #91c4b0 / #235f4e / #dcf0e7
Interactive Cambridge IGCSE Mathematics (0580) labs for exam practice and visual concept explanations you can see, change and understand.
intro · clamp(18–22px) · #424245 · -.018em · lh 1.45Paint a bitmap, change its colour depth, and compare normal, RLE and Huffman encoding.
description · 14px · muted · lh 1.5Visual experiment
kicker · 11px · 650 · .09em · capshero · clamp(52–108px) · 630 · -.075em · lh .88
v5 lesson shell
v3 labs and shared roles
lab-card-title). Working stays 14px; field labels 12px.data-lab-readable-chart accounts for SVG scaling). Keep meaningful mathematical notation.0 6px 20px #1d1d1f08. Working cards and nested panels have no shadow; use space within one parent before adding boxes.Site components first, then lab parts. v5 marks the current lesson shell for new and converted labs (shared tools in lab-v4.css, scoped by body.lab-v4-tools). v3 marks parts still shipped in existing labs: follow them when editing those labs; do not add them to a v5 lab.
Lab actions v5
v4-btn is lesson navigation only (Back, Continue, “Continue with this result”, Finish). v4-chip is Experiment and in-card actions; v4-quiet is utility actions; select.v4-select is selectors.disabled kept.Visual experiment
Place elements in regions and build unions, intersections and complements.
A single HTML file that keeps working offline.
LabDesign.bindSvgDrag supplies pickup, capture and release; the lab keeps constraints, snapping and maths.lab-value-grip, lab-boundary-grip); freeze it during a proof if the lab requires it.0 1px 3px rgba(29,29,31,.08); regular 12px options at least 32px high; selected charcoal with white text; “Working” or “Exam” centred above in regular 11px, no colon. Expose selection with aria-pressed or radio semantics.#eef1f3 / #6e6e73 / #d2d2d7, no shadow, native disabled. A lone reset sits beside the model heading (data-lab-reset-target), clear of manipulatives; a visible tool container is rounded and never overlaps its parent.Supplement
Drag the screen until the rays meet on it, then press Test.
The screen must go where the rays meet: 15.0 cm behind the lens.
Screen 15.0 cm from the lens.
v4-select where there is a route, Experiment v4-chip, ↺ restart) · tier kicker (may be empty) · title, a question · prompt · picture card · status line · nav. Exactly one h1.<p class="v5-verdict" role="status">, is inside the card directly under the drawing: empty until a test, the earned statement in green on a hold, the comparison cue on a miss. It answers the title in the same words.Find limits of accuracy and test claims against them.
lab-evidence-card, lab-simulation): 12px padding and corners, 15px regular heading, 14px text, borderless inner explanations.LabDesign.digitalReadout) where rounded precision matters, keeping trailing zeros; live values as flat tinted material (data-lab-value). Compare displayed values, never raw floats.lab-working-context keeps a short current requirement above a simulation. Genuine editing popups, such as a flowchart statement chooser, stay.Test the claim against the limits of accuracy.
It holds only if the value rounds to 7.4 cm.
data-work-state="bad" with data-lab-attention="true", dismissed by data-interacted="true"). Focus or touch stops the pulse and dismissal survives redraws. Current, completed and upcoming steps stay visible at every support level; supplied values swap for fields in place.LabDesign.attention(scope, targets)) follows the required step (prediction → control or calculation → next action) and pulses the actual grip, not the whole diagram. Recompute after each state change; clear with [] in free exploration.lab-context): light blue, no border, 12 × 16px padding, 15px heading, 14px text. Keep the claim and its criterion visible through an investigation without giving the unearned result.Lesson nav v5
.v4-nav is the only lesson navigation. The kit makes it sticky with a fade; no local position overrides and nothing beneath it.Help improve Examplicity
Describe what you expected and what happened instead. Please do not include passwords or personal information.
position:absolute; z-index:30), closed by an outside tap or Escape. It may cover the title while open and never moves the page.LabKit.direct.movableCompletion) and never advance the model. Blue offers configure the next case; green confirms the current one.Lab selector v5
appearance: base-select is supported, open menus echo the home page: white, 18px corners, 7px inset, rounded rows, thin border, soft shadow, light blue selected row with a check. Other browsers keep the system menu; multi-select listboxes remain lists.