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
| Token | Value | Note |
|---|---|---|
| --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 |