# High Contrast Mono — pure black and white, no mid-greys. # Huge type, hard edges, zero decoration. The stark poster — vs swiss, which # keeps hairlines and grey. Nothing but ink and paper. name: high-contrast-mono label: High Contrast Mono summary: Pure black/white, huge type, hard edges — a stark poster. tokens: palette: bg: "#FFFFFF" # paper surface: "#FFFFFF" ink: "#000000" # pure ink ink_muted: "#000000" accent: "#000000" # no secondary — black is the accent accent_alt: "#FFFFFF" rule: "#000000" on_accent: "#FFFFFF" surfaces: title: { bg: "#000000", ink: "#FFFFFF", muted: "#FFFFFF", accent: "#FFFFFF" } section: { bg: "#000000", ink: "#FFFFFF", muted: "#FFFFFF" } # Charts are the one place this theme breaks its own rule, and it has to. # Colour on a chart is data, not decoration: with a black accent and a white # accent_alt the derived palette drew three identical black series and one # white one that disappeared into the page. Greys alone cannot carry four # series at a readable contrast either. # # These are flat poster primaries, which is the same design language the # display face and the hard black rules already speak. Ink leads so a # single-series chart still reads as this theme. chart: series: - "#111111" # ink - "#D32F2F" # vermillion - "#1565C0" # cobalt - "#B26A00" # ochre - "#2E7D32" # green - "#6A1B9A" # violet dark: bg: "#000000" surface: "#111111" ink: "#FFFFFF" ink_muted: "#FFFFFF" accent: "#FFFFFF" accent_alt: "#000000" rule: "#FFFFFF" on_accent: "#000000" type: display: { family: "Anton", weight: 400, size: 46, line: 1.0, tracking: 0 } heading: { family: "Anton", weight: 400, size: 34, line: 1.05, tracking: 0 } subhead: { family: "Space Grotesk", weight: 500, size: 16, line: 1.3, tracking: 0 } body: { family: "Space Grotesk", weight: 400, size: 14, line: 1.45, tracking: 0 } caption: { family: "Space Grotesk", weight: 500, size: 11, line: 1.3, tracking: 0.1 } eyebrow: { family: "Space Grotesk", weight: 700, size: 11, line: 1.2, tracking: 1.6, transform: upper } stat: { family: "Anton", weight: 400, size: 60, line: 0.95, tracking: 0 } grid: margin: { top: 0.66, right: 0.8, bottom: 0.6, left: 0.8 } gutter: 0.30 columns: 12 band: { eyebrow_y: 0.66, title_y: 1.40, body_y: 2.70 } shape: radius: { card: 0, pill: 0.40, chip: 0 } # nothing rounded border: { width: 2, color: "#000000" } # thick ink outlines card_pad: 0.32 shadow: card: { type: outer, blur: 0, offset: 4, angle: 90, color: "000000", opacity: 1 } # Composition — src/composition.js owns the vocabulary; every axis # left out here is the shared default. layout: section: composition: band heading: opening: bar rule: under list: marker: square plate: enabled: false voice: feel: stark, confident, absolute, editorial density: low prefers: - one idea, huge - short declarative statements - typographic contrast as the visual avoid: - mid-tones, gradients, shadows on text - more than one idea per slide - anything that softens the statement headline_style: > Say it flat and big. "BLACK AND WHITE" over "A Balanced Introduction". Remove every word you can. body_style: > Short, blunt, complete. One sentence per point. No hedging.