diff --git a/docs/specs/2026-06-20-pico-css-styling-design.md b/docs/specs/2026-06-20-pico-css-styling-design.md new file mode 100644 index 0000000..0df14df --- /dev/null +++ b/docs/specs/2026-06-20-pico-css-styling-design.md @@ -0,0 +1,163 @@ +# Spine — Pico CSS styling + +Styles the index page using [Pico CSS v2](https://picocss.com/) via CDN, +restructuring HTML to use Pico-native semantic elements and adding a small +custom ` + + +
+
+
+ spine + N books · M reading +
+ …groups and rows… +
+
+ + +``` + +## Example output (Use of Weapons, expanded) + +```html +

READING

1
+ +
+ 🎧 + Use of Weapons Iain M. Banks + :scifi: :literary: + Priya: If you liked Player of Games, this one will wreck you + reading + +
+

[2026-03-02] The two-track structure is doing something I can't name yet.

+

[2026-03-07] Zakalwe's competence reads as a wound.

+

[2026-03-09] The chapter numbering. Oh.

+ +
+
+``` + +## Empty state + +```html +
+
spine
+

No books yet.

+
+``` + +## Files changed + +- `spine.el` — `spine-render-index` and `spine-render-empty-state` rewritten + to emit Pico-structured HTML with inline CSS + +No new files. No new dependencies beyond the CDN ``. + +## Out of scope + +- JavaScript interactivity +- Cover image display +- Write endpoints +- Per-note format +- `?id=` selection without page reload (full page reload only) + +## Acceptance + +- [ ] Page renders with Pico CSS applied (fonts, spacing, colors match Pico defaults) +- [ ] Light/dark mode switches with OS preference +- [ ] Groups appear in order: WANT, READING, READ — zero-book groups omitted +- [ ] `?id=...` expands the matching book's detail with reading notes +- [ ] Status pills have distinct colors per state +- [ ] Format shown as emoji glyph +- [ ] Recommendation trail shown when `REC_BY` present +- [ ] Empty state shows "No books yet." +- [ ] No console 404s (Pico CDN resolves) +- [ ] No Tabler Icons reference in output