The bare exil.es domain stopped serving /icons/ when it switched to a
static landing page (sub-net ansible commit 10c742c). Icons live at
i.exil.es. Replace hardcoded https://exil.es/icons/ refs in TalentCell
fallback paths and the NEXT_PUBLIC_ICON_BASE default in TalentBuilder.
Embedded talent builders (e.g. on classic.exil.es Sub's Bear) showed a
wide dark grey "border" inside the iframe — that was the page's
background (#1e1e1e) showing on either side of the trees, which are
fixed-width. In embed mode:
* Set body/html background to transparent so the host page background
shines through where the trees don't extend.
* Switch the trees container from flex (which stretches) to inline-flex
(which shrinks to fit), so the iframe can be sized loosely without
introducing visible empty space.
- Add codec.ts, transform.ts, and types.ts to src/lib/
- Fix .gitignore to only ignore Python lib/ in root, not nested lib/ directories
- Make pointsSpent optional in AscTree type to match JSON data structure
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>