You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Rationale:** Cost/benefit analysis determined migration is not worthwhile. The project previously migrated *away* from PicoCSS to sanitize.css specifically to avoid framework interference with its highly custom UI. Adding nimble.css would partially reverse that decision.
686
+
687
+
**Key findings:**
688
+
-~1,783 lines of custom CSS across 12 files, with the main dashboard being the heaviest (529 lines)
689
+
- Nearly every form element uses `appearance: none` with bespoke styling: gradient-border checkboxes, glassmorphic buttons with `backdrop-filter` and `color-mix()`, cross-browser custom range slider
690
+
-`.no-nimble` would be needed on the main dashboard checkboxes, DailyTiles buttons, RadarTimeline range slider, and wmo-codes buttons — essentially every interactive element
691
+
- Only `/radar` (table) and `/aqi` (details/summary, article cards) would benefit from nimble defaults, and both already work fine with minimal CSS
692
+
- The existing `.container` class (max-width 960px) would collide with nimble's body grid
693
+
- Net CSS reduction: approximately zero — lines saved by removing sanitize.css imports and `.container` would be offset by `.no-nimble` wrappers and override rules
683
694
684
695
### 6.6 veneer
685
696
686
-
**Status:** Not started
697
+
**Status:** Skipped
698
+
**Date:** 2026-03-30
699
+
700
+
**Rationale:** Marginal benefit (~6-7% CSS reduction) does not justify the integration effort and risk.
701
+
702
+
**Key findings:**
703
+
-~2,785 lines of custom CSS across 23 files
704
+
-`forms.scss` (169 lines) is nearly identical to nimble's form layer but uses a different variable system (`--app-*` vs `--nc-*`). Replacing it would require remapping custom properties across the project.
705
+
-~30 custom HTML elements (`d-article`, `d-header`, `gh`, `gd`, `pl-*`, `fi-*`, `grid-table`, `nav-buttons`, etc.) mean nimble's classless element styling has very limited reach — most UI intentionally avoids standard elements to prevent iOS Safari Reader Mode activation
706
+
-`html { font-size: 115% }` conflicts with nimble's `100%` default, affecting all rem/em-based sizing
-`fieldset` border conflict: nimble adds borders, veneer strips them
709
+
- Open Props SCSS (`@use 'open-props-scss' as *`) is imported in 13 files — this coexists fine with nimble, but the `--app-*` variable system built on top of it would need remapping
710
+
- Net CSS reduction: ~170-200 lines out of 2,785 (6-7%), with 50-100 lines of bridge/override code needed
711
+
- Only `presets/+page.svelte` (57 lines, basic content page) would meaningfully benefit from nimble defaults
0 commit comments