Reference

Design system

This page is noindex: it documents the template for whoever builds with it. Every contrast ratio below was computed against the WCAG relative-luminance formula (tools/a11y/contrast.py) before shipping, not eyeballed.

The palette, measured

RESEARCH.md names dyed-silk peacock teal #146B70 — HSL(183°, 70%, 26%) — against the muslin cream ground #F2EDE1, and states four ratios: ink text at 13.95:1, accent text/rules at 5.33:1, accent on white at 6.23:1, and white text on an accent button fill at 6.23:1. Measured independently with tools/a11y/contrast.py, the figures come out at 13.98:1, 5.34:1, 6.24:1 and 6.24:1 respectively — all within rounding of RESEARCH.md’s own figures, no correction needed. The footer band inverts to a dark ink-charcoal background (this batch’s default, not day 101’s light-band pattern): on that dark band, the raw accent teal measures under AA, so --color-accent-on-band is a lightened same-hue teal (#1EA2A9, 5.29:1) and --color-on-band-muted is a lightened same-hue warm grey (#B9AFA1, 7.55:1).

Typography

Display: EB Garamond, set italic for section eyebrows, the costume plate’s own rendering-plate lettering and every section heading — the real convention of a costume rendering plate’s handwritten-adjacent annotation. Body: Manrope, a clean humanist-geometric sans for prose, nav and form labels. Data: Cutive Mono (.mono), restricted to exactly three places — the costume plot’s scene column, the fitting schedule’s weeks-out/duration/running-total columns, and the build budget & yardage sheet’s yardage, cost and hours columns — the register a paper costume bible is actually typed in. Cutive Mono ships one weight only; nothing in this template requests it bold.

Schema.org — settled and withheld

Person for Chiara Benedetti, with memberOf United Scenic Artists, Local USA 829 (real, cited). Service (serviceType: “Costume Design”), carrying no price or priceRange — a build budget is yardage × fabric cost plus base build hours plus a quick-change premium, none of which exist until the costume plot is set. Deliberately no Product or Offer anywhere — unlike furniture (day 135, current-stock pieces) or fashion (day 133, direct retail), this practice has no retail arm at all; every costume is built for one production and remains that company’s property or returns to a rental house. Also withheld: aggregateRating (no reviews collected) and any Event markup for any production, current or past — the flagship build’s dates aren’t settled by the producing company yet, and the five past productions’ runs have closed, so asserting live Event data for either would misstate it. No Organization schema either — Chiara is a freelance sole practitioner, not a named studio brand.

One module, read by every surface that shows its numbers

src/lib/buildHours.ts is the only place a quick-change premium (6 hours), a lining allowance (1.5 yd) or a nap allowance (15%) is applied — the build budget & yardage sheet and its reading-the-sheet note both read the same constants. src/lib/fittingHours.ts is the only place a fitting session sequence is generated from a character’s costume-plot rows — the fitting schedule table and its totals both read the same function against the same data, so the plot, the schedule and the budget can never quietly disagree.

A figure formalised from the brief

RESEARCH.md’s sources describe “one or two additional fittings before tech on top of the first” as a real-world range, not a fixed count. This page turns that range into a deterministic rule stated in src/lib/fittingHours.ts: one muslin fitting, one first-build fitting per look, one further session for each flagged quick change, and one final fitting. For the current build’s two-look, one-flag principals that comes to two additional sessions on top of the first — inside the sourced range — while a one-look, no-flag track gets one additional session, also inside the range. The quick-change threshold itself (30 seconds) is stated as-sourced, with no correction needed.

Tokens

TokenValueNote
--color-bg #F2EDE1 Unbleached muslin/calico cream — the colour a costume shop drapes and blocks patterns on
--color-surface #FFFFFF Cards, tables, figures — 6.24:1 for accent text
--color-text #241F1A Ink charcoal — 13.98:1 on ground · AAA
--color-text-muted #6B655C 4.94:1 on ground · AA
--color-accent #146B70 Dyed-silk peacock teal — 5.34:1 on ground · AA
--color-on-accent #FFFFFF 6.24:1 on accent fill · AA — the primary-button pair
--color-band #241F1A The footer inverts — a dark band on the light body
--color-on-band #F2EDE1 13.98:1 on band · AAA
--color-on-band-muted #B9AFA1 7.55:1 on band · AA+
--color-accent-on-band #1EA2A9 5.29:1 on band · AA — lightened same-hue teal; the raw accent measures well under AA there