()
| 37 | function getCards() { return CARD_IDS.map(id => $(id)).filter(Boolean); } |
| 38 | |
| 39 | function getAppZoomScale() { |
| 40 | const raw = getComputedStyle(document.documentElement) |
| 41 | .getPropertyValue('--app-zoom') |
| 42 | .trim(); |
| 43 | const n = parseFloat(raw); |
| 44 | if (!Number.isFinite(n) || n <= 0) return 1; |
| 45 | return Math.min(4, Math.max(0.1, n)); |
| 46 | } |
| 47 | |
| 48 | function readLayout() { |
| 49 | try { return JSON.parse(localStorage.getItem(LAYOUT_KEY) || '{}'); } |