fix(web): make the beads view inherit the SourceHut theme The beads board shipped its own Mardi Gras palette — a purple→green marquee gradient and saturated solid lane fills — that clashed with SourceHut's flat, utilitarian dark theme, and the detail pane's field labels were a hardcoded dark purple with no dark-mode override, leaving "Created by / Owner / Description" unreadable on the dark background. Drive everything from CSS variables that mirror core.sr.ht's Bootstrap palette for both the light default and the prefers-color-scheme: dark variant sourcehut ships (the same media query it uses), so the view inherits the host theme instead of fighting it. Lane hues become muted Mardi Gras accents (gold/green/violet/gray) used only as thin borders and low-alpha tints — never as body text — so contrast holds on either theme. The marquee is now a flat stat row, lanes an understated panel with an accent underline, and detail labels a readable muted caption. Verified light and dark via a headless render.
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).