How the league's hub looks, sounds and behaves. For anyone touching the site, the PDF, or anything posted to the group chat under the masthead.
The Wooden Spoon Papers is the paper of record for a 14-man draft league. It reads like a broadsheet data desk that has been left alone with the group chat: rigorous numbers, disrespectful conclusions. The spoon β the loser's punishment β is the editorial centre of gravity. Everything else orbits it.
Tagline patterns: "14 managers Β· one spoon" Β· "38 weeks. One spoon." Keep the cadence: plain count, full stop, spoon.
The lockup is typographic: an orange uppercase kicker (letter-spaced 2px) above the title in heavyweight Helvetica. The π₯ spoon emoji is the standalone mark β favicon, chat avatar, bullet point. No drawn logo exists and none is needed.
On the site the lockup sits in the masthead band: near-black ink (#14130f, both themes),
paper-white title, muted sub, and a 4px orange rule along the bottom. The band is the boldest element on
the page β nothing below it competes with it.
--s2), the title in ink, on a paper background.The palette is a colourblind-safe data-visualisation set. Series order is deliberate β blue before orange before green β so adjacent series stay distinguishable for everyone. Never shuffle series order casually.
#2a78d6 / #3987e5#eb6834 / #d95926#1baf7a / #199e70#eda100 / #c98500#e87ba4 / #d55181#fcfcfb / #1a1a19#f3f2ef / #242423#0b0b0b / #ffffff#52514e / #c3c2b7#b23520 / #e66767Good newsCautionBad news
β background/foreground pairs (--goodbg/--goodfg etc.) exist in both themes; use the pair,
never a hand-picked tint. Orange (--s2) is the accent for callouts and the kicker; spoon red
(--bad) is reserved for finishing 14th and nothing else.
| Role | Spec | Notes |
|---|---|---|
| Everything | 'Helvetica Neue', Arial, sans-serif | System stack, no webfonts, nothing to load |
| H1 | 34px / 700 / 1.1 | Title case as written, never all-caps |
| H2 | 22px, 3px ink underline | The broadsheet rule β section starts |
| Kicker | 12px / 700 / caps / 2px tracking | Orange, one per page |
| Body | 15px / 1.55 | |
| Hints | 13px, Ink 2 | Methodology, caveats, stage directions |
| Numbers | font-variant-numeric: tabular-nums | Any column of figures, always |
Analytical with banter. The data does the punching; the copy just points at it.
Aβ Grade chip β 2.5px ink border, 8px radius. Grades score the draft, not the manager.
Elite spineNo GK for 12 roundsStriker-light Tags β uppercase, 11px, semantic pair colours, max three per team card.
Cards β 1.5px grid border, 14px radius, surface background. Rows β dot = point estimate, band = 10thβ90th percentile. Buttons β ghost style, 1.5px border, 8px radius; the active tab inverts to ink-on-surface.
Tables β ink 2px header rule, grid 1px row rules, no zebra striping. Wide tables scroll inside their own container on mobile; the page never scrolls sideways.
KPI tiles (the Overview dashboard) β surface card, 4px coloured top rail, 11px uppercase label, 20px tabular hero value, one-line hint. Rails use series colours as decoration by position (blue, orange, spoon red, gold) β never as data encoding. One row of four tiles, two-up on mobile.
Live status badges β every player name in static content can carry an availability tag (OUT / 75% / SUSPENDED) fed by the FPL feed at load. Editorial copy stays fixed; the badge carries the news. Never rewrite a roast because of an injury β badge it.
/api proxy (league ID pinned, endpoints allow-listed, edge-cached). The Fantrax API is unofficial β every live feature fails soft.