{"id":6,"date":"2026-06-13T21:18:40","date_gmt":"2026-06-13T21:18:40","guid":{"rendered":"https:\/\/burnsfamily.life\/?page_id=6"},"modified":"2026-06-13T21:28:40","modified_gmt":"2026-06-13T21:28:40","slug":"home","status":"publish","type":"page","link":"https:\/\/burnsfamily.life\/","title":{"rendered":"Home"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><code><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\"><style>:root {\n    --bg-color: #e5e5ea;\n    --bg-gradient: radial-gradient(at 0% 0%, #ffffff 0px, transparent 50%), radial-gradient(at 100% 0%, #e5eedf 0px, transparent 50%), radial-gradient(at 100% 100%, #d5e1f0 0px, transparent 50%), radial-gradient(at 0% 100%, #f4e8e8 0px, transparent 50%);\n    --card-bg: rgba(255, 255, 255, 0.45);\n    --card-blur: blur(40px);\n    --text-main: #1d1d1f;\n    --text-light: #86868b;\n    --accent: #0071e3;\n    --accent-hover: #0077ED;\n    --danger: #ff3b30;\n    --border: rgba(255, 255, 255, 0.6);\n    --radius: 28px;\n}\n\n#burns-dashboard-wrapper,\n#burns-dashboard-wrapper * {\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif !important;\n    box-sizing: border-box !important;\n}\n\n#burns-dashboard-wrapper {\n    position: fixed !important; top: 0 !important; left: 0 !important;\n    width: 100vw !important; height: 100vh !important;\n    z-index: 2147483647 !important; background-color: var(--bg-color) !important;\n    background-image: var(--bg-gradient) !important; overflow: hidden !important;\n    margin: 0 !important; padding: 0 !important;\n    color: var(--text-main) !important; display: flex; flex-direction: column;\n    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;\n}\n\n#burns-dashboard-wrapper ::-webkit-scrollbar { width: 8px; }\n#burns-dashboard-wrapper ::-webkit-scrollbar-track { background: transparent; }\n#burns-dashboard-wrapper ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 10px; }\n\n.burns-header { padding: 24px 32px 16px 32px; text-align: center; flex-shrink: 0; }\n.burns-header h1 { margin: 0; font-size: 36px; font-weight: 800; letter-spacing: -1px;}\n\n.burns-grid {\n    display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px;\n    padding: 10px 32px 32px 32px; flex-grow: 1; min-height: 0; max-width: 1800px; margin: 0 auto; width: 100%;\n}\n\n.burns-main-column { display: flex; flex-direction: column; gap: 24px; min-height: 0; }\n.burns-side-column { display: flex; flex-direction: column; min-height: 0; }\n\n.burns-card {\n    background: var(--card-bg); backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur);\n    border: 1px solid var(--border); border-radius: var(--radius); padding: 24px;\n    box-shadow: 0 10px 40px rgba(0,0,0,0.03), inset 0 1px 0 rgba(255,255,255,0.8);\n    display: flex; flex-direction: column; flex-grow: 1; min-height: 0;\n}\n.burns-card h2 { margin-top: 0; font-size: 24px; font-weight: 700; border-bottom: 1px solid rgba(0,0,0,0.06); padding-bottom: 16px; margin-bottom: 20px; flex-shrink: 0; letter-spacing: -0.5px;}\n\n\/* Inputs *\/\n.burns-input-row { display: flex; gap: 12px; margin-bottom: 20px; flex-shrink: 0; }\n\n.burns-input-row input,\n.burns-input-row select,\n.burns-full-input {\n    flex-grow: 1;\n    height: 50px !important;\n    padding: 0 16px !important;\n    border: 1px solid rgba(0,0,0,0.08) !important;\n    border-radius: 12px !important;\n    font-size: 15px !important;\n    background: rgba(255,255,255,0.7) !important;\n    font-family: inherit !important;\n    min-width: 0;\n    box-sizing: border-box !important;\n    color: var(--text-main);\n}\n\n.burns-input-row input:focus,\n.burns-input-row select:focus,\n.burns-full-input:focus {\n    outline: none !important; border-color: var(--accent) !important; background: #ffffff !important; box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.15) !important;\n}\n\n.burns-btn {\n    background: var(--accent); color: white; border: none; padding: 0 24px;\n    height: 50px; border-radius: 12px; cursor: pointer; font-weight: 600; font-size: 15px; white-space: nowrap;\n}\n.burns-btn:hover { background: var(--accent-hover); transform: scale(0.98); }\n\n\/* SVG-Centered FAB *\/\n.burns-fab {\n    position: absolute; bottom: 24px; right: 24px; width: 44px; height: 44px;\n    border-radius: 50%; background: var(--accent); color: white;\n    border: none; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 113, 227, 0.4);\n    display: flex; align-items: center; justify-content: center;\n    transition: all 0.2s ease; z-index: 10; padding: 0; margin: 0;\n}\n.burns-fab svg { display: block; margin: auto; }\n.burns-fab:hover { transform: scale(1.05); background: var(--accent-hover); box-shadow: 0 10px 24px rgba(0, 113, 227, 0.5); }\n\n\/* Lists and Scrolling *\/\n.burns-scroll-area { flex-grow: 1; overflow-y: auto; padding-right: 8px; }\n\n.burns-list { list-style: none; padding: 0; margin: 0; }\n.burns-list li {\n    display: flex; justify-content: space-between; align-items: center; padding: 12px 0;\n    border-bottom: 1px solid rgba(0,0,0,0.04); font-size: 16px; font-weight: 500;\n}\n.burns-list li:last-child { border-bottom: none; }\n.burns-delete { background: none; color: var(--danger); border: none; font-size: 24px; cursor: pointer; opacity: 0.4; padding: 0 5px; margin-left: 12px; transition: opacity 0.2s ease;}\n.burns-delete:hover { opacity: 1; }\n.burns-item-date { display: block; font-size: 12px; color: var(--text-light); font-weight: 600; margin-top: 4px; }\n\n\/* Calendar Icons & Event Pill *\/\n.burns-cal-list li {\n    background: rgba(255,255,255,0.6); border-radius: 16px; padding: 16px 20px;\n    margin-bottom: 12px; border: 1px solid var(--border);\n    display: flex; justify-content: space-between; align-items: center;\n}\n.burns-event-layout { display: flex; align-items: center; gap: 16px; }\n\n.burns-cal-icon {\n    background: #ffffff; border-radius: 8px; border: 1px solid rgba(0,0,0,0.08);\n    overflow: hidden; width: 54px; text-align: center; box-shadow: 0 3px 8px rgba(0,0,0,0.04);\n    flex-shrink: 0; display: flex; flex-direction: column;\n}\n.b-month { background: var(--danger); color: white; font-size: 11px; font-weight: 800; padding: 3px 0; letter-spacing: 1px; }\n.b-day { font-size: 20px; font-weight: 800; color: #1d1d1f; padding: 2px 0; line-height: 1; }\n.b-dow { font-size: 10px; font-weight: 700; color: var(--text-light); padding-bottom: 4px; letter-spacing: 0.5px; }\n\n.burns-event-details { display: flex; flex-direction: column; gap: 4px; }\n.burns-cal-desc { font-size: 17px; font-weight: 600; }\n.burns-event-time { font-size: 13px; color: var(--text-light); font-weight: 700; }\n\n.burns-event-pill {\n    background: rgba(0, 113, 227, 0.1); color: var(--accent);\n    font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 12px;\n    text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap;\n}\n\n\/* Meal Plan *\/\n.burns-meal-day-title { font-weight: 700; font-size: 18px; margin-bottom: 12px; letter-spacing: -0.5px;}\n.burns-meal-item {\n    display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,0.6);\n    padding: 14px 18px; border-radius: 16px; margin-bottom: 10px; border: 1px solid rgba(255,255,255,0.8);\n}\n.burns-meal-type { font-weight: 700; width: 110px; color: var(--text-light); font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px;}\n.burns-meal-desc-text { font-size: 15px; font-weight: 500; }\n\n\/* Appliances *\/\n.burns-stacked-appliances {\n    display: flex; flex-direction: column; gap: 24px; height: 100%; justify-content: space-between;\n}\n.burns-appliance {\n    background: linear-gradient(135deg, #ffffff 0%, #f0f0f5 100%); border: 1px solid rgba(0,0,0,0.05);\n    border-radius: 20px; cursor: pointer; position: relative; box-shadow: -10px 15px 30px rgba(0,0,0,0.05), inset 2px 2px 10px white;\n    transition: transform 0.2s; display: flex; align-items: center; justify-content: center; width: 100%; flex-grow: 1; min-height: 250px;\n}\n.burns-appliance:hover { transform: translateY(-4px); }\n.burns-handle {\n    background: linear-gradient(to right, #d1d1d6, #f2f2f7, #d1d1d6); position: absolute; border-radius: 6px;\n    box-shadow: 2px 4px 8px rgba(0,0,0,0.1); height: 120px; width: 12px; top: 50%; transform: translateY(-50%);\n}\n.burns-fridge .burns-handle { right: 24px; }\n.burns-freezer .burns-handle { left: 24px; }\n.burns-app-label { font-weight: 800; color: #a1a1a6; letter-spacing: 6px; font-size: 20px; opacity: 0.4; }\n\n\/* Modals & Close Button *\/\n.burns-modal {\n    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;\n    background: rgba(0,0,0,0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);\n    display: none; justify-content: center; align-items: center; z-index: 1000;\n}\n.burns-modal.active { display: flex; }\n.burns-modal-content {\n    background: rgba(245, 245, 247, 0.95); padding: 40px; border-radius: 32px; width: 90%; max-width: 600px;\n    position: relative; max-height: 85vh; display: flex; flex-direction: column;\n    box-shadow: 0 40px 80px rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.5);\n}\n.burns-modal h2 { font-size: 28px; margin-top: 0; margin-bottom: 24px; letter-spacing: -1px; font-weight: 700; }\n\n.burns-close {\n    position: absolute; top: 20px; right: 20px; width: 36px; height: 36px; border-radius: 50%;\n    border: none; cursor: pointer; background: rgba(0,0,0,0.05); color: var(--text-main);\n    display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; padding: 0; margin: 0;\n}\n.burns-close svg { display: block; margin: auto; }\n.burns-close:hover { background: var(--accent); color: white; }\n\n@media (max-width: 1024px) {\n    #burns-dashboard-wrapper { height: auto !important; overflow-y: auto !important; display: block; }\n    .burns-grid { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; }\n}\n<\/style>\n    <div id=\"burns-dashboard-wrapper\">\n        <header class=\"burns-header\">\n            <h1>THE BURNS LIFE DASHBOARD<\/h1>\n        <\/header>\n\n        <div class=\"burns-grid\">\n            <div class=\"burns-main-column\">\n                <div class=\"burns-card\" style=\"position: relative; padding-bottom: 80px;\">\n    <h2>\ud83d\uddd3\ufe0f Calendar<\/h2>\n    \n    <div class=\"burns-scroll-area\">\n        <ul id=\"b-calendar-list\" class=\"burns-list burns-cal-list\"><\/ul>\n    <\/div>\n\n    <button class=\"burns-fab\" onclick=\"burnsApp.clearEventModal()\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line>\n            <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line>\n        <\/svg>\n    <\/button>\n<\/div>\n                <div class=\"burns-card\" style=\"position: relative; padding-bottom: 80px;\">\n    <h2>\ud83c\udf7d\ufe0f Meal Plan<\/h2>\n    \n    <div id=\"b-meal-pills\" style=\"display: flex; gap: 8px; overflow-x: auto; padding: 4px 4px 14px 4px; margin-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.1); scrollbar-width: none; width: 100%; box-sizing: border-box;\"><\/div>\n\n    <div class=\"burns-scroll-area\">\n        <div id=\"b-meal-list\"><\/div>\n    <\/div>\n\n    <button class=\"burns-fab\" onclick=\"burnsApp.clearMealModal()\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line>\n            <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line>\n        <\/svg>\n    <\/button>\n<\/div>\n                <div class=\"burns-card\">\n    <h2>\ud83d\uded2 Shopping List<\/h2>\n    <div class=\"burns-input-row\">\n        <input type=\"text\" id=\"b-shop-desc\" placeholder=\"Add to list...\">\n        <button class=\"burns-btn\" onclick=\"burnsApp.addItem('shopping', 'b-shop-desc')\">Add<\/button>\n    <\/div>\n    <div class=\"burns-scroll-area\">\n        <ul id=\"b-shopping-list\" class=\"burns-list\"><\/ul>\n    <\/div>\n<\/div>\n            <\/div>\n            <div class=\"burns-side-column\">\n                <div class=\"burns-card appliances-card\">\n    <h2>\u2744\ufe0f Kitchen Inventory<\/h2>\n    \n    <div class=\"burns-stacked-appliances\">\n        <div class=\"burns-appliance burns-fridge\" onclick=\"burnsApp.openModal('b-fridge-modal')\">\n            <div class=\"burns-handle\"><\/div>\n            <div class=\"burns-app-label\">FRIDGE<\/div>\n        <\/div>\n        \n        <div class=\"burns-appliance burns-freezer\" onclick=\"burnsApp.openModal('b-freezer-modal')\">\n            <div class=\"burns-handle\"><\/div>\n            <div class=\"burns-app-label\">FREEZER<\/div>\n        <\/div>\n    <\/div>\n<\/div>\n            <\/div>\n        <\/div>\n\n        <div id=\"b-fridge-modal\" class=\"burns-modal\">\n    <div class=\"burns-modal-content\">\n        <button class=\"burns-close\" onclick=\"burnsApp.closeModal('b-fridge-modal')\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line><\/svg>\n        <\/button>\n        <h2 style=\"margin-top: 0; font-weight: 700;\">\u2744\ufe0f Fridge Inventory<\/h2>\n        <div class=\"burns-input-row\">\n            <input type=\"text\" id=\"b-fridge-desc\" class=\"burns-full-input\" placeholder=\"Store item...\">\n            <input type=\"date\" id=\"b-fridge-date\" class=\"burns-full-input\" style=\"max-width: 150px;\">\n            <button class=\"burns-btn\" style=\"height: 50px;\" onclick=\"burnsApp.addInventoryItem('fridge', 'b-fridge-desc', 'b-fridge-date')\">Store<\/button>\n        <\/div>\n        <div class=\"burns-scroll-area\">\n            <ul id=\"b-fridge-list\" class=\"burns-list\"><\/ul>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div id=\"b-freezer-modal\" class=\"burns-modal\">\n    <div class=\"burns-modal-content\">\n        <button class=\"burns-close\" onclick=\"burnsApp.closeModal('b-freezer-modal')\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line><\/svg>\n        <\/button>\n        <h2 style=\"margin-top: 0; font-weight: 700;\">\ud83e\uddca Freezer Inventory<\/h2>\n        <div class=\"burns-input-row\">\n            <input type=\"text\" id=\"b-freezer-desc\" class=\"burns-full-input\" placeholder=\"Freeze item...\">\n            <input type=\"date\" id=\"b-freezer-date\" class=\"burns-full-input\" style=\"max-width: 150px;\">\n            <button class=\"burns-btn\" style=\"height: 50px;\" onclick=\"burnsApp.addInventoryItem('freezer', 'b-freezer-desc', 'b-freezer-date')\">Freeze<\/button>\n        <\/div>\n        <div class=\"burns-scroll-area\">\n            <ul id=\"b-freezer-list\" class=\"burns-list\"><\/ul>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div id=\"b-event-modal\" class=\"burns-modal\">\n    <div class=\"burns-modal-content\">\n        <button class=\"burns-close\" onclick=\"burnsApp.closeModal('b-event-modal')\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line><\/svg>\n        <\/button>\n        <h2 style=\"margin-top: 0; font-weight: 700;\">\ud83d\uddd3\ufe0f Add\/Edit Event<\/h2>\n        \n        <div style=\"display: flex; flex-direction: column; gap: 16px;\">\n            <div style=\"display: flex; gap: 12px; align-items: stretch;\">\n                <input type=\"date\" id=\"b-event-date\" class=\"burns-full-input\" style=\"flex: 1;\">\n                <input type=\"time\" id=\"b-event-time\" class=\"burns-full-input\" style=\"flex: 1;\">\n            <\/div>\n            <input type=\"text\" id=\"b-event-desc\" class=\"burns-full-input\" placeholder=\"Event details...\">\n            <button class=\"burns-btn\" style=\"height: 50px;\" onclick=\"burnsApp.addEvent(); burnsApp.closeModal('b-event-modal');\">Save Event<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div id=\"b-meal-modal\" class=\"burns-modal\">\n    <div class=\"burns-modal-content\">\n        <button class=\"burns-close\" onclick=\"burnsApp.closeModal('b-meal-modal')\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line><\/svg>\n        <\/button>\n        <h2 style=\"margin-top: 0; font-weight: 700;\">\ud83c\udf7d\ufe0f Add\/Edit Meal<\/h2>\n        \n        <div style=\"display: flex; flex-direction: column; gap: 16px;\">\n            <div style=\"display: flex; gap: 12px; align-items: stretch;\">\n                <input type=\"date\" id=\"b-meal-date\" class=\"burns-full-input\" style=\"flex: 1;\">\n                <select id=\"b-meal-type\" class=\"burns-full-input\" style=\"flex: 1;\">\n                    <option value=\"Breakfast\">Breakfast<\/option>\n                    <option value=\"Lunch\">Lunch<\/option>\n                    <option value=\"Supper\">Supper<\/option>\n                    <option value=\"Snack\">Snack<\/option>\n                <\/select>\n            <\/div>\n            <input type=\"text\" id=\"b-meal-desc\" class=\"burns-full-input\" placeholder=\"Meal details...\">\n            <button class=\"burns-btn\" style=\"height: 50px;\" onclick=\"burnsApp.addMeal(); burnsApp.closeModal('b-meal-modal');\">Save Meal<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n    <\/div>\n\n    <script>const burnsApp = {\n    data: {\n        events: [{ id: 1, date: \"2026-06-14\", time: \"16:00\", desc: \"Grooming for the Shihpoo\" }],\n        meals: [\n            { id: 1, date: new Date().toISOString().split('T')[0], type: 'Breakfast', desc: '16:8 Fasting Ends' },\n            { id: 2, date: new Date().toISOString().split('T')[0], type: 'Lunch', desc: 'Grilled Chicken & Cauliflower Rice' }\n        ],\n        shopping: [\n            { id: 1, text: 'Zero Sugar Greek Yogurt' },\n            { id: 2, text: 'Almond Milk' }\n        ],\n        fridge: [{ id: 1, text: 'Spinach (Bag)', date: new Date().toISOString().split('T')[0] }],\n        freezer: [{ id: 1, text: 'Chicken Breasts', date: new Date().toISOString().split('T')[0] }]\n    },\n    \n    currentMealViewDate: null,\n\n    init: function() {\n        const saved = localStorage.getItem('burnsLifeDB_v15');\n        if (saved) { this.data = JSON.parse(saved); }\n        \n        \/\/ Auto-select Today, or Tomorrow if today has no meals\n        const todayStr = new Date().toISOString().split('T')[0];\n        const todaysMeals = this.data.meals.filter(m => m.date === todayStr);\n        if (todaysMeals.length === 0) {\n            const tmrw = new Date(); tmrw.setDate(tmrw.getDate() + 1);\n            this.currentMealViewDate = tmrw.toISOString().split('T')[0];\n        } else {\n            this.currentMealViewDate = todayStr;\n        }\n\n        this.renderAll();\n    },\n\n    save: function() {\n        localStorage.setItem('burnsLifeDB_v15', JSON.stringify(this.data));\n        this.renderAll();\n    },\n\n    addItem: function(list, inputId) {\n        const el = document.getElementById(inputId);\n        if (el && el.value.trim()) {\n            this.data[list].push({ id: Date.now(), text: el.value.trim() });\n            el.value = ''; this.save();\n        }\n    },\n\n    addInventoryItem: function(list, textId, dateId) {\n        const textEl = document.getElementById(textId);\n        const dateEl = document.getElementById(dateId);\n        let itemDate = dateEl.value;\n        if(!itemDate) itemDate = new Date().toISOString().split('T')[0];\n\n        if (textEl && textEl.value.trim()) {\n            this.data[list].push({ id: Date.now(), text: textEl.value.trim(), date: itemDate });\n            textEl.value = ''; dateEl.value = ''; this.save();\n        }\n    },\n\n    deleteItem: function(list, id) {\n        this.data[list] = this.data[list].filter(item => item.id !== id);\n        this.save();\n    },\n\n    \/* --- EVENT LOGIC --- *\/\n    clearEventModal: function() {\n        document.getElementById('b-event-modal').dataset.editId = '';\n        document.getElementById('b-event-date').value = '';\n        document.getElementById('b-event-time').value = '';\n        document.getElementById('b-event-desc').value = '';\n        this.openModal('b-event-modal');\n    },\n\n    editEvent: function(id) {\n        const event = this.data.events.find(e => e.id === id);\n        if (!event) return;\n        document.getElementById('b-event-date').value = event.date;\n        document.getElementById('b-event-time').value = event.time || '';\n        document.getElementById('b-event-desc').value = event.desc;\n        document.getElementById('b-event-modal').dataset.editId = id;\n        this.openModal('b-event-modal');\n    },\n\n    addEvent: function() {\n        const d = document.getElementById('b-event-date');\n        const t = document.getElementById('b-event-time');\n        const desc = document.getElementById('b-event-desc');\n        const modal = document.getElementById('b-event-modal');\n        const editId = modal.dataset.editId;\n        \n        if (d && desc && d.value && desc.value.trim()) {\n            if (editId) {\n                const ev = this.data.events.find(e => e.id == editId);\n                if (ev) { ev.date = d.value; ev.time = t ? t.value : ''; ev.desc = desc.value.trim(); }\n                delete modal.dataset.editId;\n            } else {\n                this.data.events.push({ id: Date.now(), date: d.value, time: t ? t.value : '', desc: desc.value.trim() });\n            }\n            this.data.events.sort((a, b) => new Date(a.date) - new Date(b.date));\n            d.value = ''; desc.value = ''; if(t) t.value = '';\n            this.save();\n        }\n    },\n\n    \/* --- MEAL LOGIC --- *\/\n    setMealDate: function(dateStr) {\n        this.currentMealViewDate = dateStr;\n        this.renderAll();\n    },\n\n    clearMealModal: function() {\n        document.getElementById('b-meal-modal').dataset.editId = '';\n        document.getElementById('b-meal-date').value = this.currentMealViewDate || new Date().toISOString().split('T')[0];\n        document.getElementById('b-meal-type').value = 'Breakfast';\n        document.getElementById('b-meal-desc').value = '';\n        this.openModal('b-meal-modal');\n    },\n\n    editMeal: function(id) {\n        const meal = this.data.meals.find(m => m.id === id);\n        if (!meal) return;\n        document.getElementById('b-meal-date').value = meal.date;\n        document.getElementById('b-meal-type').value = meal.type;\n        document.getElementById('b-meal-desc').value = meal.desc;\n        document.getElementById('b-meal-modal').dataset.editId = id;\n        this.openModal('b-meal-modal');\n    },\n\n    addMeal: function() {\n        const d = document.getElementById('b-meal-date').value;\n        const type = document.getElementById('b-meal-type').value;\n        const desc = document.getElementById('b-meal-desc');\n        const modal = document.getElementById('b-meal-modal');\n        const editId = modal.dataset.editId;\n\n        if (d && desc && desc.value.trim()) {\n            if (editId) {\n                const m = this.data.meals.find(meal => meal.id == editId);\n                if (m) { m.date = d; m.type = type; m.desc = desc.value.trim(); }\n                delete modal.dataset.editId;\n            } else {\n                this.data.meals.push({ id: Date.now(), date: d, type, desc: desc.value.trim() });\n            }\n            this.currentMealViewDate = d;\n            desc.value = ''; this.save();\n        }\n    },\n\n    openModal: function(id) { document.getElementById(id).classList.add('active'); },\n    closeModal: function(id) { document.getElementById(id).classList.remove('active'); },\n\n    formatTime: function(time24) {\n        if (!time24) return '';\n        let [hours, minutes] = time24.split(':');\n        hours = parseInt(hours, 10);\n        const ampm = hours >= 12 ? 'PM' : 'AM';\n        hours = hours % 12;\n        hours = hours ? hours : 12;\n        return `${hours}:${minutes} ${ampm}`;\n    },\n\n    \/\/ ADDED: Width constraints and text truncation to prevent horizontal expansion\n    renderSimpleList: function(list, containerId) {\n        const c = document.getElementById(containerId);\n        if(!c) return;\n        c.innerHTML = this.data[list].map(item => `\n            <li style=\"display: flex; justify-content: space-between; align-items: center; width: 100%; box-sizing: border-box;\">\n                <span style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1; padding-right: 10px;\">${item.text}<\/span>\n                <button class=\"burns-delete\" style=\"flex-shrink: 0;\" onclick=\"burnsApp.deleteItem('${list}', ${item.id})\">&times;<\/button>\n            <\/li>\n        `).join('');\n    },\n\n    \/\/ ADDED: Width constraints and text truncation to prevent horizontal expansion\n    renderInventoryList: function(list, containerId) {\n        const c = document.getElementById(containerId);\n        if(!c) return;\n        c.innerHTML = this.data[list].map(item => {\n            const dateObj = new Date(item.date + 'T12:00:00');\n            const dateStr = item.date ? dateObj.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }) : '';\n            return `\n            <li style=\"display: flex; justify-content: space-between; align-items: center; width: 100%; box-sizing: border-box;\">\n                <div style=\"display:flex; flex-direction:column; min-width: 0; flex: 1; padding-right: 10px;\">\n                    <span style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; width: 100%;\">${item.text}<\/span>\n                    <span class=\"burns-item-date\">${dateStr}<\/span>\n                <\/div>\n                <button class=\"burns-delete\" style=\"flex-shrink: 0;\" onclick=\"burnsApp.deleteItem('${list}', ${item.id})\">&times;<\/button>\n            <\/li>`;\n        }).join('');\n    },\n\n    renderAll: function() {\n        this.renderSimpleList('shopping', 'b-shopping-list');\n        this.renderInventoryList('fridge', 'b-fridge-list');\n        this.renderInventoryList('freezer', 'b-freezer-list');\n\n        \/\/ Calendar Render\n        const calList = document.getElementById('b-calendar-list');\n        if(calList) {\n            const now = new Date();\n            let nextEventId = null;\n            let shortestDiff = Infinity;\n\n            this.data.events.forEach(ev => {\n                const evDateObj = ev.time ? new Date(`${ev.date}T${ev.time}:00`) : new Date(`${ev.date}T00:00:00`);\n                const diff = evDateObj - now;\n                if (diff > 0 && diff < shortestDiff) {\n                    shortestDiff = diff;\n                    nextEventId = ev.id;\n                }\n            });\n\n            calList.innerHTML = this.data.events.map(ev => {\n                const dateObj = new Date(ev.date + 'T12:00:00');\n                const month = dateObj.toLocaleDateString('en-US', { month: 'short' }).toUpperCase();\n                const day = dateObj.toLocaleDateString('en-US', { day: '2-digit' });\n                const dow = dateObj.toLocaleDateString('en-US', { weekday: 'short' }).toUpperCase();\n                const timeStr = ev.time ? `<div class=\"burns-event-time\">\ud83d\udd52 ${this.formatTime(ev.time)}<\/div>` : '';\n\n                let pillStr = '';\n                if (ev.id === nextEventId) {\n                    const days = Math.floor(shortestDiff \/ (1000 * 60 * 60 * 24));\n                    const hours = Math.floor((shortestDiff % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n                    const mins = Math.floor((shortestDiff % (1000 * 60 * 60)) \/ (1000 * 60));\n                    \n                    let pillText = 'Next';\n                    if (days > 1) pillText = `In ${days} days`;\n                    else if (days === 1) pillText = `Tomorrow`;\n                    else if (hours > 0) pillText = `In ${hours} hr`;\n                    else if (mins > 0) pillText = `In ${mins} min`;\n                    pillStr = `<div class=\"burns-event-pill\">${pillText}<\/div>`;\n                }\n\n                return `<li>\n                    <div class=\"burns-event-layout\" onclick=\"burnsApp.editEvent(${ev.id})\" style=\"cursor: pointer;\">\n                        <div class=\"burns-cal-icon\"><div class=\"b-month\">${month}<\/div><div class=\"b-day\">${day}<\/div><div class=\"b-dow\">${dow}<\/div><\/div>\n                        <div class=\"burns-event-details\">\n                            <div style=\"display: flex; align-items: center; gap: 8px;\"><span class=\"burns-cal-desc\">${ev.desc}<\/span>${pillStr}<\/div>\n                            ${timeStr}\n                        <\/div>\n                    <\/div>\n                    <button class=\"burns-delete\" onclick=\"event.stopPropagation(); burnsApp.deleteItem('events', ${ev.id})\">&times;<\/button>\n                <\/li>`;\n            }).join('');\n        }\n\n        \/\/ Meal Plan Render\n        const mealPillContainer = document.getElementById('b-meal-pills');\n        const mealListContainer = document.getElementById('b-meal-list');\n        \n        if (mealPillContainer && mealListContainer) {\n            let pillsHTML = '';\n            for(let i=0; i<14; i++) {\n                const d = new Date();\n                d.setDate(d.getDate() + i);\n                const dStr = d.toISOString().split('T')[0];\n                \n                let label = d.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric' });\n                if (i === 0) label = \"Today\";\n                else if (i === 1) label = \"Tomorrow\";\n\n                \/\/ UPDATED: Fixed size and Dark Blue \/ White color flip\n                const isActive = (this.currentMealViewDate === dStr);\n                const style = isActive\n                    ? 'background: #FFFFFF; color: #0056b3; border: 2px solid #0056b3;'\n                    : 'background: #003366; color: #FFFFFF; border: 2px solid #003366;';\n\n                \/\/ Fixed flex values so they absolutely do not grow or shrink\n                pillsHTML += `<button style=\"flex: 0 0 95px; height: 34px; padding: 0; display: flex; align-items: center; justify-content: center; border-radius: 20px; font-weight: 600; font-size: 0.85rem; cursor: pointer; transition: none; box-sizing: border-box; ${style}\" onclick=\"burnsApp.setMealDate('${dStr}')\">${label}<\/button>`;\n            }\n            mealPillContainer.innerHTML = pillsHTML;\n\n            const typeOrder = { 'Breakfast': 1, 'Lunch': 2, 'Supper': 3, 'Snack': 4 };\n            const dayMeals = this.data.meals.filter(m => m.date === this.currentMealViewDate).sort((a,b) => typeOrder[a.type] - typeOrder[b.type]);\n            \n            if (dayMeals.length > 0) {\n                mealListContainer.innerHTML = dayMeals.map(m => `\n                    <div class=\"burns-meal-item\" onclick=\"burnsApp.editMeal(${m.id})\" style=\"cursor: pointer;\">\n                        <div><span class=\"burns-meal-type\">${m.type}<\/span> <span class=\"burns-meal-desc-text\">${m.desc}<\/span><\/div>\n                        <button class=\"burns-delete\" onclick=\"event.stopPropagation(); burnsApp.deleteItem('meals', ${m.id})\">&times;<\/button>\n                    <\/div>\n                `).join('');\n            } else {\n                mealListContainer.innerHTML = `<div style=\"text-align: center; color: rgba(255,255,255,0.5); padding: 30px 10px; font-size: 0.95rem;\">No meals planned for this date.<br>Tap + to add one.<\/div>`;\n            }\n        }\n    }\n};\n\n\/\/ Start the app\ndocument.addEventListener('DOMContentLoaded', () => {\n    burnsApp.init();\n});\n<\/script>\n    <script>\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            var wrapper = document.getElementById(\"burns-dashboard-wrapper\");\n            if (wrapper) {\n                document.body.appendChild(wrapper);\n                document.documentElement.style.setProperty('overflow', 'hidden', 'important');\n                document.body.style.setProperty('overflow', 'hidden', 'important');\n                if (typeof burnsApp !== 'undefined') {\n                    burnsApp.init();\n                }\n            }\n        });\n    <\/script>\n    \n    <\/code><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/burnsfamily.life\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":3,"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":16,"href":"https:\/\/burnsfamily.life\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions\/16"}],"wp:attachment":[{"href":"https:\/\/burnsfamily.life\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}