style(web): restyle the beads parade in the todo.sr.ht idiom The board still read as a rounded-card kanban from another app. Re-skin every surface in sourcehut's own issue-tracker language (todo.sr.ht): flat and square — no border-radius, no shadows, no tints — hairline gray borders, monospace ids, striped-on-hover rows instead of cards, and squared bordered labels (the sourcehut .label: 1px border, no radius). The summary becomes a flat hairline strip and each lane a squared column with a 2px accent cap. The Mardi Gras hues survive only as small square swatches and the lane cap, never as fills, so the view looks like a native sourcehut tracker in both the light and dark themes. Verified via a headless light/dark render. Test asserts the renamed summary class.
feat(web): Mardi Gras beads view Render a beads (bd) issue database as a Mardi Gras parade board: four lanes — Rolling (in progress), Lined Up (open & ready), Stalled (open & blocked), Past Stand (done) — plus a marquee of per-lane counts. Cards show id/title/type/priority/assignee/labels and blocked-by/blocks counts; an issue-detail pane (?issue=<id>) shows the full issue with its dependency edges in both directions and its comments thread. Fingerprints on the issues + dependencies tables and reads everything through the browse layer (column-name-keyed, so column order is irrelevant), capped at 2000 rows/table. Status is bucketed via custom_statuses with name heuristics as a fallback; "blocked" means is_blocked or an open blocking dependency. Plugs into the view registry via init()+RegisterView with no framework edits. Purple/gold/green palette scoped in the template (no scss rebuild needed).