openvibers/openvibe.food Commits
Plan: the figures in an even grid (#170)
Changes
@@@ -52,9 +52,12 @@ button.sc-btn.sc-primary { border: 0; }.places { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }.place { border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 10px 12px; background: var(--bg-card, #131c2e); }.attribution { border-top: 1px solid var(--border, #1f2d47); padding-top: 8px; margin-top: 16px; }--.stats { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }--.stats li { border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 8px 12px; background: var(--bg-card, #131c2e); }--.stats b { display: block; font-size: 1.15rem; }++/* Figures in an even grid: each card as wide as its neighbours, so a row never goes ragged (the plan's five figures++ sat at five widths on a phone; phone sweep, 2026-11-01). */++.stats { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 10px; }++.stats li { display: flex; flex-direction: column; gap: 2px; min-width: 0; border: 1px solid var(--border, #1f2d47); border-radius: 12px; padding: 10px 14px; background: var(--bg-card, #131c2e); }++.stats b { display: block; font-size: 1.3rem; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }++.stats span { font-size: .85rem; line-height: 1.35; color: var(--text-secondary, #96a7c2); }.pantry-form fieldset { border: 1px solid var(--border, #1f2d47); border-radius: 10px; margin: 10px 0; }.pantry-item { display: inline-block; min-width: 240px; margin: 2px 10px 2px 0; font-size: .92rem; }.lede { color: var(--text-secondary, #96a7c2); max-width: 72ch; }@@@ -26,7 +26,7 @@ const BUDGETS = {// 16.4 since the product's own pages brought their stylesheet with them (the search and plan forms, the place// cards, the pantry's tick list); app.css itself stayed within a few lines.cssRawKB: 44, // 42.9 with the home's pick block and fold rules (the owner's short-pages rule, 2026-10-30); 40.4 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 38.3 the home's phone rows (2026-10-29); 33.6 openvibe-shared 4.26.1 (hero visual); 28.1 with Shared 4.13.0 (2026-10-26: account links); 22.2 with css/home.css; 16.4 before-- cssBrotliKB: 9.5, // 8.9 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 8.6 with 11 touch targets (2026-10-29: the chips and the food search's fields at 44 px); 8.2 the home's phone limits and fold (2026-10-29); 6.4 with Shared 4.13.0 (2026-10-26: account links); 5.3 with css/home.css; 4.3 with the hero search panel++ cssBrotliKB: 10, // 9.6 with 2026-11-01: plan figures in an even grid (2026-11-01); 8.9 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 8.6 with 11 touch targets (2026-10-29: the chips and the food search's fields at 44 px); 8.2 the home's phone limits and fold (2026-10-29); 6.4 with Shared 4.13.0 (2026-10-26: account links); 5.3 with css/home.css; 4.3 with the hero search panelexternalFiles: 0, // 0};
@@ -52,9 +52,12 @@ button.sc-btn.sc-primary { border: 0; }
@@ -52,9 +52,12 @@ button.sc-btn.sc-primary { border: 0; }
.places { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.places { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.place { border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 10px 12px; background: var(--bg-card, #131c2e); }
.place { border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 10px 12px; background: var(--bg-card, #131c2e); }
.attribution { border-top: 1px solid var(--border, #1f2d47); padding-top: 8px; margin-top: 16px; }
.attribution { border-top: 1px solid var(--border, #1f2d47); padding-top: 8px; margin-top: 16px; }
-.stats { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
-.stats li { border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 8px 12px; background: var(--bg-card, #131c2e); }
-.stats b { display: block; font-size: 1.15rem; }
+/* Figures in an even grid: each card as wide as its neighbours, so a row never goes ragged (the plan's five figures
+ sat at five widths on a phone; phone sweep, 2026-11-01). */
+.stats { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 10px; }
+.stats li { display: flex; flex-direction: column; gap: 2px; min-width: 0; border: 1px solid var(--border, #1f2d47); border-radius: 12px; padding: 10px 14px; background: var(--bg-card, #131c2e); }
+.stats b { display: block; font-size: 1.3rem; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
+.stats span { font-size: .85rem; line-height: 1.35; color: var(--text-secondary, #96a7c2); }
.pantry-form fieldset { border: 1px solid var(--border, #1f2d47); border-radius: 10px; margin: 10px 0; }
.pantry-form fieldset { border: 1px solid var(--border, #1f2d47); border-radius: 10px; margin: 10px 0; }
.pantry-item { display: inline-block; min-width: 240px; margin: 2px 10px 2px 0; font-size: .92rem; }
.pantry-item { display: inline-block; min-width: 240px; margin: 2px 10px 2px 0; font-size: .92rem; }
.lede { color: var(--text-secondary, #96a7c2); max-width: 72ch; }
.lede { color: var(--text-secondary, #96a7c2); max-width: 72ch; }
@@ -26,7 +26,7 @@ const BUDGETS = {
@@ -26,7 +26,7 @@ const BUDGETS = {
// 16.4 since the product's own pages brought their stylesheet with them (the search and plan forms, the place
// 16.4 since the product's own pages brought their stylesheet with them (the search and plan forms, the place
// cards, the pantry's tick list); app.css itself stayed within a few lines.
// cards, the pantry's tick list); app.css itself stayed within a few lines.
cssRawKB: 44, // 42.9 with the home's pick block and fold rules (the owner's short-pages rule, 2026-10-30); 40.4 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 38.3 the home's phone rows (2026-10-29); 33.6 openvibe-shared 4.26.1 (hero visual); 28.1 with Shared 4.13.0 (2026-10-26: account links); 22.2 with css/home.css; 16.4 before
cssRawKB: 44, // 42.9 with the home's pick block and fold rules (the owner's short-pages rule, 2026-10-30); 40.4 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 38.3 the home's phone rows (2026-10-29); 33.6 openvibe-shared 4.26.1 (hero visual); 28.1 with Shared 4.13.0 (2026-10-26: account links); 22.2 with css/home.css; 16.4 before
- cssBrotliKB: 9.5, // 8.9 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 8.6 with 11 touch targets (2026-10-29: the chips and the food search's fields at 44 px); 8.2 the home's phone limits and fold (2026-10-29); 6.4 with Shared 4.13.0 (2026-10-26: account links); 5.3 with css/home.css; 4.3 with the hero search panel
+ cssBrotliKB: 10, // 9.6 with 2026-11-01: plan figures in an even grid (2026-11-01); 8.9 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 8.6 with 11 touch targets (2026-10-29: the chips and the food search's fields at 44 px); 8.2 the home's phone limits and fold (2026-10-29); 6.4 with Shared 4.13.0 (2026-10-26: account links); 5.3 with css/home.css; 4.3 with the hero search panel
externalFiles: 0, // 0
externalFiles: 0, // 0
};
};