Life Is Like A Play

A meeting journal, kept every Tuesday since 2003.
Shenzhen Toastmasters Club (深圳国际演讲俱乐部, club #594537, chartered 2003) keeps its website as a meeting journal: a record of what happened each week, not a brochure. Every visual choice serves reading that record. Warm paper, a serif for reading, a monospace layer for everything that is metadata, and hairlines instead of boxes.
confirmed or inferred where it matters.body sets font-synthesis-style: none, so Latin keeps its true italic and Han stays upright. Blockquotes and em inside reproduced Chinese articles are upright.Two themes built from the Toastmasters International palette (tm-burgundy #772432, tm-loyal-blue #004165, tm-happy-yellow #f2df74).
bg, near-black warm text, and burgundy accent on the core type: the site name, page titles, meeting titles, kickers, meeting numbers and links. Burgundy on the headlines is what makes the site read as Toastmasters and not a generic template. Keep it there.bg and Happy Yellow accent in the same roles.text (reading), text-80 (standfirsts, secondary copy), text-50 (mono metadata), text-30 (uppercase labels only).gold is for hairlines only: the 24px rule over every caption, the 3px rule beside a speech, the top rule of a sidenote, blockquote rules, outing labels. Never set text in gold on the light theme (2.2:1).bg-panel (solid burgundy with on-panel text) appears once: the when/where chip on the home page.bg-sunk marks recessed areas and hover fills.text-50 is 3.4:1 on the light bg (passes in dark at 4.6:1), and text-30 is 2.0:1 light, 2.6:1 dark. Use text-30 only for labels a reader does not need; never for content.accent, offset 2px. 9.3:1 on light bg, 11.5:1 on dark.wordmark, page-title, entry-title) are bold, tightly tracked (-0.02 to -0.03em), and in accent. They are fluid with clamp(); the sizes listed are the desktop maximums.body: 19px/1.68, measure 62ch. It drops to 16px under 480px.width-page 1240px, space-gutter 40px sides). Never narrow a page because it has less content.width-rail), the text, a 230px notes column (width-notes), with 48px gaps. The rail is navigation only; charts and content go in the middle column, each on its own page.divider hairlines between entries and around fact bands. No cards around content, no coloured left-border cards (the link card’s gold rule is the single exception).radius-xs 2px on stream photos, radius-sm 3px on controls and most images, radius-md 4px on the when chip and hero photos.shadow-lift on the one card that floats over the venue map, and shadow-offset (a hard 6px offset in divider) on a hovered poster tile.text-50 under a 24px gold rule./venues/. prefers-reduced-motion turns all transitions off.The site uses almost no icons. The only glyphs are the sun and moon in the theme toggle (15px inline SVG, currentColor in text-50) and typographic arrows (→) in links. Do not add icon sets or emoji; label with words.
17 colours in 2 themes. Each chip is painted on its own theme's page colour, so the see-through text colours show as they do on the page.
bg#fbf4ee#062334Page ground. Light: warm cream paper. Dark: a deepened Toastmasters Loyal Blue. Also the sticky header background.
bg-sunk#f4e9e0#0b2f44Recessed areas: the Visit strip, link cards, the About brand block, hover fill on nav links and archive rows, image placeholders.
bg-panel#772432#8f2f3eSolid burgundy panel. Used once per page at most: the when/where chip on the home masthead.
on-panel#fdf6f0#fdf1ecText on bg-panel. 9.4:1 light, 7.2:1 dark.
text#241c1a#ece5d8Body copy, speech titles, guest quotes on bg and bg-sunk. 15.4:1 light, 12.9:1 dark.
text-80#241c1abf#ece5d8c4Secondary reading text: standfirsts, blockquotes, role names, fact values, on bg and bg-sunk. 7.0:1 light, 8.1:1 dark.
text-50#241c1a85#ece5d888Mono metadata: dates, captions, 'by' lines, inactive nav. On bg: 3.4:1 light (below 4.5:1 for small text, kept as the source has it), 4.6:1 dark.
text-30#241c1a52#ece5d855Uppercase column labels, role labels, index dates, the footer fine print. 2.0:1 light, 2.6:1 dark on bg: fails WCAG for text; the source uses it deliberately for the quietest layer. Do not use it for anything a reader must read.
accent#772432#f0d97eThe brand colour on type: site name, page and meeting titles, kickers, meeting numbers, links, the focus ring. Light: Toastmasters burgundy (9.3:1 on bg). Dark: Happy Yellow lifted for contrast (11.5:1 on bg).
accent-hover#96303f#f6e69fHover state of accent links.
link-underline#77243255#f0d97e55Resting underline under accent links in prose; turns to accent on hover. Also the offset shadow on a hovered photo.
gold#c8a45c#c8a45cDecorative hairlines only: the 24px L-rule over captions, the 3px rule left of a speech, blockquote and note tops, outing numbers. 2.2:1 on the light bg, so never set text in it on light.
divider#241c1a1f#ece5d81f1px hairlines between entries, under the header, around fact bands. Structure is drawn with these, not with boxes or shadows.
rule-strong#241c1a33#ece5d833The 90px section separator in prose and the inset outline on a focused tile.
tm-burgundy#772432#772432Toastmasters International official True Maroon. Reference value; in UI use accent or bg-panel.
tm-loyal-blue#004165#004165Toastmasters International official Loyal Blue. Reference value; the dark theme's bg is derived from it.
tm-happy-yellow#f2df74#f2df74Toastmasters International official Happy Yellow. Reference value; the dark theme's accent is derived from it.
Two families: Source Serif 4 for everything read, with Noto Serif SC for Chinese, and IBM Plex Mono for everything that is metadata.
Home masthead club name, in accent. Fluid: clamp(2.75rem, 6.4vw, 5rem).
Secondary masthead title (.wordmark-sm), in accent. Fluid: clamp(2rem, 4.4vw, 3.25rem).
Meeting theme in the stream, in accent. Fluid: clamp(1.875rem, 3.2vw, 2.5rem); 24px under 820px.
Prose section heading, in text.
Day line inside the when/where chip, on bg-panel.
A prepared speech in the program; also prose h3.
Masthead lede in text-80, 150 to 175 characters, max 42ch.
All reading text. Drops to 16px under 480px. Prose column max 62ch.
Guest voices in the right sidenote column.
Header nav, site title (500, 0.06em tracking), left-rail index.
Uppercase label above a masthead title, in accent.
Entry meta line, fact values, link-card subtitles, in text-50 or text-80.
Figure captions and 'by' lines in text-50, under a 24px gold rule.
Uppercase column and role labels in text-30; fine print in the footer.
space-gutterPage side padding on desktop; 22px under 820px.
space-gutter-smPage side padding under 820px.
space-column-gapGap between the three reading columns (170px rail, text, 230px notes).
space-entryTop padding of a meeting entry and of the rail and notes columns.
space-masthead-gapGap between masthead title and standfirst or photo.
space-paragraphSpace after a prose paragraph (20px inside a stream entry).
space-captionImage to caption rule, and caption rule to caption text (8 to 9px).
width-pageMax width of every page. Every page is this wide; never narrow a page because it has less content.
width-railLeft rail: navigation only.
width-notesRight notes column: guest voices and margin notes.
height-headerSticky header height on desktop.
radius-xs2pxPhotos inside a stream entry and entry galleries.
radius-sm3pxNav link hover fill, theme button, archive rows, meeting hero and gallery photos. The most common radius.
radius-md4pxThe when/where chip, masthead and moments photos, the brand block.
shadow-lift0 8px 30px #241c1a1aThe one soft shadow: a card floating over the venue map. Nowhere else. The source uses the same value in both themes.
shadow-offset6px 6px 0 0 #241c1a1fHard offset shadow in the divider colour on a hovered poster or photo tile.
The twelve parts every page is built from, rendered with the site's own markup and stylesheet. Switch the theme and they follow.
SiteHeaderSticky 64px header: the club name in mono, a quiet “Est. 2003”, and the six tabs.
text-50; hover fills bg-sunk at radius-sm; the active tab turns text, not accent and not bold.divider below; no shadow.Masthead609 meetings since 2003, on a Tuesday evening, in Luohu and then in Futian. Everyone is welcome to visit.
Every Tuesday19:15 – 21:15

The home page head: kicker, three-line wordmark in accent, Chinese name, standfirst, the burgundy when/where chip, a photo, and the facts band below.
when-chip is the only solid bg-panel fill on the site. Do not add a second one.radius-md. The caption carries the 24px gold L-rule.divider hairlines with mono label/value pairs; labels uppercase in accent.SecondaryMasthead609 meetings and one outing, from June 2008 to next Tuesday. The oldest were pieced back together from the club's first website and its mailing list; the recent ones come from our own agendas.
The head of every section page: kicker and title on the left, standfirst on the right, full width.
min-height: 4.65em, so the band is the same depth on every page.MeetingEntry
One meeting in the stream: number, date, theme as title, photo, prepared speeches, the role grid, links out.
accent uppercase mono; an outing has no number and uses gold for its label (.entry-outing).gold rule. Roles are a mono grid: label in text-30 uppercase, name in text-80.divider hairline, no cards.MeetingFactsThe fact band at the top of a meeting page: label/value pairs in mono between two divider hairlines.
text-30; values text-80; a parenthetical in em drops to text-30, upright.GuestNoteI think your Table Topics were really good and very encouraging.
A guest · #1033
8 September 2003
A sidenote in the 230px right column: a guest’s words beside the meeting they came from, or a short margin note beside prose.
gold rule on top, no box. Quote in serif text, attribution in mono text-50.SideRailThe 170px left rail: navigation only, never content.
text-50; the current one turns accent at weight 500. Group labels uppercase text-30.ArchiveIndexThe archive list: meetings grouped by year, one dense row each.
accent tabular mono, title in serif text-80 truncated with an ellipsis, date in text-30.bg-sunk at radius-sm. Outings use gold.LinkCardA single call-out link on bg-sunk with a 3px gold rule on its left.
accent) and a one-line mono subtitle.ProseThe agenda listed Stella as TME. On the night, Stella decided to hand the role to Cecilia, who had joined the club exactly one week earlier, and moved herself to General Evaluator.
As long as I'm not embarrassed, the embarrassment belongs to someone else.
她的破冰演讲安排在 10 月。
Long-form reading: meeting write-ups, history pages, the People interviews.
body at 19px/1.68, max 62ch. Links accent with a link-underline underline that darkens on hover.gold rule.10 月).rule-strong hairline, not an ornament.

The club is not allowed its own logo, and may not combine any club mark with the Toastmasters International logo. The TI logo stands alone; the club name is set in type beside or near it, never locked up with it.
Both files are Toastmasters International trademarks, used by permission; any page that shows one carries the trademark notice from the Footer. The site's favicon is a plain "ST" monogram on burgundy. It is not a logo and is not used as one.