Three P0 components, four incompatible directions each, every direction
shown in light and dark mode. The canonical Folio tokens are
the constraint — directions explore form factors, animation
patterns, and interaction details, not colors.
What was explored
Constraint
Canonical Folio tokens from 2026-07-09-wcag-canonical-tokens.md — every direction uses the same --paper, --raised, --ink, --hair, --hair-control, --green, --err, --gold-text, and tint tokens. 96/96 pairings pass WCAG AA in both modes (verified).
Variation axis
Form factor (where the component lives in the pane), animation pattern (slide / push / inline / stack), and interaction details (single-slot vs multi, dismiss affordance, focus trap vs visible-only focus).
Held constant
Color tokens, font stack (serif headings / sans body / mono labels), no blue, dark mode is warm leather not cold grey, all four components ship both light and dark in a single file, all four are interactive (toast buttons fire animations; modal "open" pulses the focus ring; inputs have working focus + error states).
Audit gaps closed
Toast: #results not announced → all four directions use role="status" + aria-live="polite". Modal: R12 dialog has no dark mode → all four inherit canonical dark. Inputs: legacy 1.28:1 border + non-visible focus → all four use --hair-control (3.84:1 L / 4.03:1 D) + 2 px --green focus ring.
Offline-safe
No CDN, no external font fetches, no external JS. Fonts fall back through Iowan Old Style → Apple Garamond → EB Garamond → Garamond → Georgia, so the file renders correctly in Word's webview and the Mac launcher's bundled WKWebView.
Why four, not three
Thariq's "Four Directions" methodology — incompatible full designs, not variations of the same idea. blu3dot clicks through, picks the winner, names it. The four should not be mergeable into one by tweaking values; each makes a different bet about the component's role.