{"id":675,"date":"2025-07-30T12:13:15","date_gmt":"2025-07-30T12:13:15","guid":{"rendered":"https:\/\/lean-app.com\/?p=675"},"modified":"2026-09-05T09:34:02","modified_gmt":"2026-09-05T09:34:02","slug":"tdee-calculator","status":"publish","type":"post","link":"https:\/\/lean-app.com\/es\/tdee-calculator\/","title":{"rendered":"Calculadora de TDEE"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\t<title>Advanced TDEE Calculator<\/title>\n\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n\t<style>\n\t\t\/* --- Design Variables --- *\/\n\t\t:root {\n\t\t\t--primary-color: #005A9C;\n\t\t\t--secondary-color: #E3E3FD;\n\t\t\t--background-color: #F8F8F9;\n\t\t\t--text-color: #161616;\n\t\t\t--light-text-color: #6c757d;\n\t\t\t--border-color: #dee2e6;\n\t\t\t--white-color: #fff;\n\t\t\t--success-color: #1F883D;\n\t\t\t--danger-color: #D92D20;\n\t\t\t--shadow: 0 8px 25px rgba(0, 0, 0, 0.08);\n\t\t\t--border-radius: 12px;\n\t\t}\n\n\t\t\/* --- General Styles --- *\/\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\tbody {\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n\t\t\tbackground-color: var(--background-color);\n\t\t\tcolor: var(--text-color);\n\t\t\tmargin: 0;\n\t\t\tpadding: 1rem;\n\t\t}\n\n\t\t\/* --- Main Container --- *\/\n\t\t.calculator-container {\n\t\t\tmax-width: 800px;\n\t\t\tmargin: auto;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbox-shadow: var(--shadow);\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t\/* --- Header --- *\/\n\t\t.calculator-header {\n\t\t\tpadding: 2rem;\n\t\t\tbackground: linear-gradient(to right, #F2A672, #EB5E91, #7A8EA3, #57BEB3);\n\t\t\tcolor: var(--white-color);\n\t\t}\n\t\t.calculator-header h1 {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 2em;\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--white-color); \/* Ensures title is white *\/\n\t\t}\n\t\t.calculator-header p {\n\t\t\tmargin: 0.5rem 0 0;\n\t\t\topacity: 0.9;\n\t\t\tfont-size: 1.1em;\n\t\t}\n\n\t\t\/* --- Form & Sections --- *\/\n\t\t#tdee-form {\n\t\t\tpadding: 2rem;\n\t\t}\n\n\t\tfieldset {\n\t\t\tborder: 1px solid var(--border-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tpadding: 1.5rem;\n\t\t\tmargin-bottom: 2rem;\n\t\t}\n\t\tlegend {\n\t\t\tfont-size: 1.25em;\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--primary-color);\n\t\t\tpadding: 0 0.5rem;\n\t\t}\n\t\t\n\t\t.form-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t}\n\n\t\t.input-group {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\t.input-group label {\n\t\t\tfont-weight: 600;\n\t\t\tmargin-bottom: 0.5rem;\n\t\t}\n\t\t.input-group label .unit {\n\t\t\tfont-weight: 400;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.input-group input, .input-group select {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0.75rem;\n\t\t\tborder: 1px solid var(--border-color);\n\t\t\tborder-radius: 8px;\n\t\t\tfont-size: 1em;\n\t\t\tbox-sizing: border-box;\n\t\t\ttransition: border-color 0.2s, box-shadow 0.2s;\n\t\t}\n\t\t.input-group input:focus, .input-group select:focus {\n\t\t\toutline: none;\n\t\t\tborder-color: var(--primary-color);\n\t\t\tbox-shadow: 0 0 0 3px var(--secondary-color);\n\t\t}\n\n\t\t\/* --- CTA for Lean App --- *\/\n\t\t#cta-lean, .cta-tracking {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: auto 1fr auto;\n\t\t\talign-items: center;\n\t\t\tgap: 1.5rem;\n\t\t\tmargin-top: 1rem;\n\t\t\tbackground-color: #f8f9fa;\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t\/* Images principales des deux CTA \u2013 m\u00eame logique que le \u201cmarquee-banner\u201d *\/\n#cta-lean .cta-col-left picture,\n#cta-lean .cta-col-left picture>img,\n#cta-lean .cta-col-left .promo-image-main,\n.cta-tracking .cta-col-left picture,\n.cta-tracking .cta-col-left picture>img,\n.cta-tracking .cta-col-left .promo-image-main{\n    max-width:300px;          \/* limite la largeur, comme dans l\u2019exemple *\/\n    max-height:200px;         \/* garde la hauteur max d\u00e9j\u00e0 pr\u00e9vue *\/\n    width:100%;               \/* occupe toute la colonne sans d\u00e9passer *\/\n    height:auto;\n    display:block;\n    border-radius:12px;\n}\n\n\t\t#cta-lean .cta-col-center, .cta-tracking .cta-col-center {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#cta-lean .cta-col-center p, .cta-tracking .cta-col-center p {\n\t\t\tmargin: 0 0 1rem 0;\n\t\t\tfont-size: 1em;\n\t\t\tline-height: 1.4;\n\t\t}\n\t\t#cta-lean .cta-buttons, .cta-tracking .cta-buttons {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.75rem;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\t\t#cta-lean .cta-buttons img, .cta-tracking .cta-buttons img {\n\t\t\theight: 40px;\n\t\t}\n\t\t#cta-lean .cta-col-right, .cta-tracking .cta-col-right {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem;\n\t\t}\n\t\t#cta-lean .cta-col-right .promo-logo-small, .cta-tracking .cta-col-right .promo-logo-small {\n\t\t\tmax-height: 80px;\n\t\t}\n\t\t#cta-lean .cta-col-right span, .cta-tracking .cta-col-right span {\n\t\t\tfont-weight: 600;\n\t\t\tfont-size: 1.1em;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\n\n\t\t\/* --- Intensity Slider --- *\/\n\t\t#intensity-group {\n\t\t\ttransition: opacity 0.3s ease;\n\t\t}\n\t\t#intensity-slider {\n\t\t\twidth: 100%;\n\t\t}\n\t\t#slider-value {\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--primary-color);\n\t\t\tfont-size: 1.1em;\n\t\t}\n\n\t\t\/* --- Button & Error Message --- *\/\n\t\t.submit-btn {\n\t\t\twidth: 100%;\n\t\t\tpadding: 1rem;\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 700;\n\t\t\tbackground: linear-gradient(to right, #F2A672, #EB5E91, #7A8EA3, #57BEB3);\n\t\t\tcolor: var(--white-color);\n\t\t\tborder: none;\n\t\t\tborder-radius: 8px;\n\t\t\tcursor: pointer;\n\t\t\ttransition: filter 0.2s, transform 0.1s;\n\t\t}\n\t\t.submit-btn:hover {\n\t\t\tfilter: brightness(1.1);\n\t\t}\n\t\t\n\t\t#error-message {\n\t\t\tcolor: var(--danger-color);\n\t\t\ttext-align: center;\n\t\t\tmargin-top: 1rem;\n\t\t\tdisplay: none;\n\t\t\tfont-weight: 500;\n\t\t}\n\t\t\n\t\t\/* --- Results Section --- *\/\n\t\t#results {\n\t\t\tdisplay: none;\n\t\t\tpadding: 1.5rem;\n\t\t\tbackground-color: var(--background-color);\n\t\t}\n\t\t.results-summary {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t\tmargin-bottom: 2rem;\n\t\t}\n\t\t.result-card {\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\ttext-align: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t}\n\t\t.result-card h3 {\n\t\t\tmargin: 0 0 0.5rem;\n\t\t\tfont-size: 1rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.result-card .value {\n\t\t\tfont-size: 2.2em;\n\t\t\tfont-weight: 700;\n\t\t}\n\t\t.result-card .unit {\n\t\t\tfont-size: 1rem;\n\t\t\topacity: 0.8;\n\t\t}\n\t\t#maintenance-card { background-color: #e3f2fd; color: #0d47a1; }\n\t\t#goal-card.deficit { background-color: var(--secondary-color); color: var(--primary-color); }\n\t\t#goal-card.maintenance { background-color: #e8f5e9; color: var(--success-color); }\n\t\t#goal-card.surplus { background-color: #ffebee; color: var(--danger-color); }\n\t\t\n\t\t#chart-container {\n\t\t\tmargin-top: 2rem;\n\t\t}\n\t\t\n\t\t#breakdown-section, #macros-section, #body-stats-section, .cta-secondary, #tracking-tools-section, #seo-article-section {\n\t\t\tmargin-top: 3rem;\n\t\t\tpadding-top: 3rem;\n\t\t\tborder-top: 1px solid var(--border-color);\n\t\t}\n\n\t\t#breakdown-section {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n\t\t\tgap: 2rem;\n\t\t\talign-items: center;\n\t\t}\n\t\t#breakdown-text ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t}\n\t\t#breakdown-text li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: 1.1em;\n\t\t\tpadding: 0.75rem;\n\t\t\tborder-radius: 8px;\n\t\t}\n\t\t#breakdown-text li:nth-child(odd) {\n\t\t\tbackground-color: var(--white-color);\n\t\t}\n\t\t#breakdown-text li span:last-child {\n\t\t\tfont-weight: 700;\n\t\t}\n\n\t\t\/* --- Second CTA --- *\/\n\t\t.cta-secondary {\n\t\t\tpadding: 2rem;\n\t\t\ttext-align: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t.cta-secondary h3 {\n\t\t\tmargin: 0 auto 1.5rem auto;\n\t\t\tmax-width: 500px;\n\t\t\tfont-size: 1.2em;\n\t\t\tline-height: 1.5;\n\t\t\tcolor: var(--text-color);\n\t\t\tfont-weight: 600;\n\t\t}\n\t\t.cta-secondary .cta-buttons {\n\t\t\tjustify-content: center;\n\t\t\tmargin-bottom: 1.5rem;\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.75rem;\n\t\t\talign-items: center;\n\t\t}\n\t\t.cta-secondary .cta-buttons img {\n\t\t\theight: 40px;\n\t\t}\n\t\t.cta-secondary .cta-secondary-image {\n\t\t\tmax-width: 100%;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tmargin-top: 1rem;\n\t\t}\n\n\t\t\/* --- Macros Section --- *\/\n\t\t#macros-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#macros-section h2 {\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.macros-subtitle {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.macros-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t}\n\t\t.macro-card {\n\t\t\tbackground-color: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\ttext-align: left;\n\t\t\tborder: 1px solid var(--border-color);\n\t\t}\n\t\t.macro-card h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\t\t.macro-card canvas {\n\t\t\tmax-height: 140px;\n\t\t\tmargin: 0.5rem auto 1rem auto;\n\t\t}\n\t\t.macro-card .macro-ratio {\n\t\t\ttext-align: center;\n\t\t\tfont-size: 0.85em;\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmargin-bottom: 1.5rem;\n\t\t}\n\t\t.macro-card ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 0.75rem;\n\t\t}\n\t\t.macro-card li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: 1.1em;\n\t\t}\n\t\t.macro-card li span:last-child {\n\t\t\tfont-weight: 700;\n\t\t}\n\n\t\t\/* --- Body Stats Section --- *\/\n\t\t#body-stats-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t #body-stats-section h2 {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.body-stats-container {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 1.5rem;\n\t\t}\n\t\t.stat-card {\n\t\t\tbackground: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t.stat-card h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tfont-size: 1.2em;\n\t\t}\n\t\t.stat-card .main-value {\n\t\t\tfont-size: 2.2em;\n\t\t\tfont-weight: 700;\n\t\t\tmargin-bottom: 0.25rem;\n\t\t}\n\t\t.stat-card .sub-value {\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t.stat-card .stat-explanation {\n\t\t\tfont-size: 0.9em;\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmax-width: 600px;\n\t\t\tmargin: 0 auto 1.5rem auto;\n\t\t\tline-height: 1.5;\n\t\t}\n\t\t.stat-card ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 1rem;\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.9em;\n\t\t\tbackground-color: var(--background-color);\n\t\t\tborder-radius: 8px;\n\t\t}\n\t\t.stat-card ul li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tpadding: 0.5rem 0;\n\t\t\tborder-bottom: 1px solid #e0e0e0;\n\t\t}\n\t\t  .stat-card ul li:last-child {\n\t\t\tborder-bottom: none;\n\t\t}\n\t\t\/* New colors for stats *\/\n\t\t#ideal-weight-card { background-color: #e6f4ff; border: 1px solid #b3d9ff; }\n\t\t#ideal-weight-card .main-value { color: #005a9c; }\n\t\t#bmi-card { background-color: #fffbe6; border: 1px solid #ffe580; }\n\t\t#bmi-card .main-value { color: #d46b08; }\n\t\t#mmp-card { background-color: #f6f2ff; border: 1px solid #d9b3ff; }\n\t\t#mmp-card .main-value { color: #531dab; }\n\n\t\t\/* --- Calorie Tracking Tools Section --- *\/\n\t\t#tracking-tools-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#tracking-tools-section h2 {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.tracking-method {\n\t\t\tmargin-bottom: 2.5rem;\n\t\t}\n\t\t.tracking-method h3 {\n\t\t\ttext-align: left;\n\t\t\tmargin: 0 0 1.5rem 0;\n\t\t\tfont-size: 1.2em;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\t\t.tracking-method-content {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 2fr;\n\t\t\tgap: 1.5rem;\n\t\t\talign-items: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tborder: 1px solid var(--border-color);\n\t\t}\n\t\t.tracking-qualities ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 0.75rem;\n\t\t\ttext-align: left;\n\t\t}\n\t\t.tracking-qualities li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\t\t}\n\t\t.rating {\n\t\t\tfont-size: 0.8em;\n\t\t\tfont-weight: 600;\n\t\t\tpadding: 0.25rem 0.6rem;\n\t\t\tborder-radius: 12px;\n\t\t\ttext-transform: capitalize;\n\t\t}\n\t\t.rating-medium { background-color: #fffbe6; color: #d46b08; border: 1px solid #ffe580; }\n\t\t.rating-good { background-color: #f6ffed; color: #389e0d; border: 1px solid #b7eb8f; }\n\t\t.rating-very-good { background-color: #e6f7ff; color: #005a9c; border: 1px solid #91d5ff; }\n\n\t\t.tracking-images {\n\t\t\tdisplay: flex;\n\t\t\tgap: 1rem;\n\t\t\tjustify-content: center;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.tracking-images img {\n\t\t\tmax-width: 100%;\n\t\t\theight: auto;\n\t\t\tmax-height: 250px; \/* Control image size *\/\n\t\t\tborder-radius: 8px;\n\t\t\tbox-shadow: 0 4px 10px rgba(0,0,0,0.1);\n\t\t}\n\n\t\t\/* --- SEO Article Section --- *\/\n\t\t#seo-article-section {\n\t\t\ttext-align: left;\n\t\t\tline-height: 1.7;\n\t\t\tpadding: 1.5rem;\n\t\t}\n\t\t#seo-article-section h2, #seo-article-section h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin-top: 2rem;\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t#seo-article-section p {\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t#seo-article-section ul {\n\t\t\tmargin-bottom: 1rem;\n\t\t\tpadding-left: 20px;\n\t\t}\n\n\t\t\/* --- RESPONSIVE STYLES --- *\/\n\t\t@media (max-width: 768px) {\n\t\t\tbody {\n\t\t\t\tpadding: 0.5rem;\n\t\t\t\tfont-size: 15px; \/* Adjust base font size for mobile *\/\n\t\t\t}\n\t\t\t.calculator-container {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t\t.calculator-header, #tdee-form, #results, #seo-article-section {\n\t\t\t\tpadding: 1.2rem;\n\t\t\t}\n\t\t\t.calculator-header h1 {\n\t\t\t\tfont-size: 1.7em;\n\t\t\t}\n\t\t\t.calculator-header p {\n\t\t\t\tfont-size: 1em;\n\t\t\t}\n\t\t\t\n\t\t\tlegend {\n\t\t\t\tfont-size: 1.15em;\n\t\t\t}\n\t\t\tfieldset {\n\t\t\t\tpadding: 1rem;\n\t\t\t\tmargin-bottom: 1.5rem;\n\t\t\t}\n\t\t\t.form-grid, .results-summary, .macros-grid {\n\t\t\t\tgap: 1rem;\n\t\t\t}\n\n\t\t\t#cta-lean, .cta-tracking {\n\t\t\t\tgrid-template-columns: 1fr;\n\t\t\t\tgap: 1rem;\n\t\t\t\ttext-align: center;\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-left, .cta-tracking .cta-col-left {\n\t\t\t\torder: 2;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-center, .cta-tracking .cta-col-center {\n\t\t\t\torder: 1;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-right, .cta-tracking .cta-col-right {\n\t\t\t\torder: 3;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-left .promo-image-main, .cta-tracking .cta-col-left .promo-image-main {\n\t\t\t\tmax-height: 160px;\n\t\t\t}\n\t\t\t#cta-lean .cta-buttons img, .cta-tracking .cta-buttons img, .cta-secondary .cta-buttons img {\n\t\t\t\theight: 38px;\n\t\t\t}\n\t\t\t\n\t\t\t.result-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.result-card h3 {\n\t\t\t\tfont-size: 0.85rem;\n\t\t\t}\n\t\t\t.result-card .value {\n\t\t\t\tfont-size: 1.9em;\n\t\t\t}\n\t\t\t.result-card .unit {\n\t\t\t\tfont-size: 0.9rem;\n\t\t\t}\n\t\t\t\n\t\t\t\/* Hides the projection chart on mobile *\/\n\t\t\t#chart-container {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t#breakdown-section, #macros-section, #body-stats-section, .cta-secondary, #tracking-tools-section {\n\t\t\t\tmargin-top: 2rem;\n\t\t\t\tpadding-top: 2rem;\n\t\t\t}\n\t\t\t\n\t\t\t.cta-secondary h3 {\n\t\t\t\tfont-size: 1.1em;\n\t\t\t}\n\t\t\t.cta-secondary .cta-secondary-image {\n\t\t\t\tmax-width: 90%;\n\t\t\t}\n\t\t\t\n\t\t\t.macro-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.macro-card li {\n\t\t\t\tfont-size: 1em;\n\t\t\t}\n\t\t\t.macro-card canvas {\n\t\t\t\tmax-height: 120px;\n\t\t\t}\n\n\t\t\t.stat-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.stat-card .main-value {\n\t\t\t\tfont-size: 1.9em;\n\t\t\t}\n\t\t\t.stat-card .stat-explanation, .stat-card ul {\n\t\t\t\tfont-size: 0.85em;\n\t\t\t}\n\t\t\t\n\t\t\t.tracking-method-content {\n\t\t\t\tgrid-template-columns: 1fr;\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.tracking-qualities {\n\t\t\t\tmargin-bottom: 1.5rem;\n\t\t\t}\n\t\t\t.tracking-images img {\n\t\t\t\tmax-height: 180px; \/* Reduced image height *\/\n\t\t\t}\n\t\t\t .cta-buttons {\n\t\t\t\tflex-direction: column;\n\t\t\t}\n\t\t}\n\/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   HARD FIX IMAGIFY \u2013 contraint vraiment <picture> + <img>\n   (\u00e9crase les styles inline que le plugin injecte)\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.calculator-container picture,\n.calculator-container picture > img,\n#cta-lean .cta-col-left picture,\n#cta-lean .cta-col-left picture > img,\n#cta-lean .cta-col-left .promo-image-main,\n.cta-tracking .cta-col-left picture,\n.cta-tracking .cta-col-left picture > img,\n.cta-tracking .cta-col-left .promo-image-main,\n\/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   Correctifs : tracking, logo Lean, image CTA secondaire\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.tracking-images picture,\n.tracking-images picture > img,\n.tracking-images img {\n    width: auto !important;\n    max-width: 100% !important;\n    max-height: 250px !important; \/* revient \u00e0 la hauteur d\u2019origine *\/\n    object-fit: cover !important; \/* \u00e9vite le \u00ab boxing \u00bb disgracieux *\/\n}\n\n\/* \u2500\u2500\u2500 Centrage horizontal de l\u2019image CTA secondaire \u2500\u2500\u2500 *\/\n.cta-secondary .cta-secondary-image,\n.cta-secondary picture,\n.cta-secondary picture img{\n    display:block !important;     \/* force le comportement bloc *\/\n    margin:1rem auto 0 !important;\/* centre horizontalement *\/\n    width:auto !important;        \/* respecte le ratio *\/\n    max-width:90% !important;     \/* limite la largeur *\/\n    object-fit:contain !important;\n}\n\n\n\/* \u2500\u2500\u2500 Fix logo Lean (compatible <picture> ou <img> apr\u00e8s Imagify) \u2500\u2500\u2500 *\/\n.promo-logo-small,\n.promo-logo-small img{\n    height:80px !important;\n    max-height:80px !important;\n    width:auto !important;\n    max-width:none !important;\n    object-fit:contain !important;\n}\n\n\n\t<\/style>\n<\/head>\n<body>\n\n\t<div class=\"calculator-container\">\n\t\t<header class=\"calculator-header\">\n\t\t\t<h1>Calculadora TDEE<\/h1>\n\t\t\t<p>Define tu objetivo y visualiza tu progreso.<\/p>\n\t\t<\/header>\n\n\t\t<form id=\"tdee-form\" action=\"\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\u2699\ufe0f Unidades<\/legend>\n\t\t\t\t <div class=\"input-group\">\n\t\t\t\t\t<select id=\"units\">\n\t\t\t\t\t\t<option value=\"metric\" selected>M\u00e9trico (kg, cm)<\/option>\n\t\t\t\t\t\t<option value=\"imperial\">Imperial (lbs, in)<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83d\udc64 Tus datos<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"gender\">Sexo<\/label>\n\t\t\t\t\t\t<select id=\"gender\">\n\t\t\t\t\t\t\t<option value=\"male\">Hombre<\/option>\n\t\t\t\t\t\t\t<option value=\"female\">Mujer<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"age\">Edad<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"age\" placeholder=\"30\" required autocomplete=\"off\" min=\"15\" max=\"110\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"weight\">Peso <span class=\"unit\">(kg)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"weight\" step=\"0.1\" placeholder=\"70\" required autocomplete=\"off\" min=\"25\" max=\"500\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t <div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"height\">Altura <span class=\"unit\">(cm)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"height\" placeholder=\"175\" required autocomplete=\"off\" max=\"250\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" style=\"grid-column: 1 \/ -1;\">\n\t\t\t\t\t\t<label for=\"bodyfat\">Grasa corporal <span class=\"unit\">(%)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"bodyfat\" step=\"0.1\" placeholder=\"15\" required autocomplete=\"off\" min=\"1\" max=\"80\">\n\t\t\t\t\t\t  <div id=\"cta-lean\">\n\t\t\t\t\t\t\t  <div class=\"cta-col-left\">\n\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\" alt=\"Lean App Body Scan\" class=\"promo-image-main\">\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <div class=\"cta-col-center\">\n\t\t\t\t\t\t\t\t  <p>\u00bfNecesitas medir tu grasa corporal con precisi\u00f3n? <br>Descarga <strong>Lean<\/strong> \u00a1y usa el BodyScan IA!<\/p>\n\t\t\t\t\t\t\t\t  <div class=\"cta-buttons\">\n\t\t\t\t\t\t\t\t\t  <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t\t\t\t\t  <\/a>\n\t\t\t\t\t\t\t\t\t  <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t\t\t\t\t  <\/a>\n\t\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <div class=\"cta-col-right\">\n\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/lean-app-logo-calorie-tdee-tracker.png\" alt=\"Lean App Logo\" class=\"promo-logo-small\">\n\t\t\t\t\t\t\t\t  <span>Lean<\/span>\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83c\udfc3 Tu actividad<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"steps\">Pasos por d\u00eda<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"steps\" placeholder=\"8000\" required>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"activityType\">Tipo de deporte<\/label>\n\t\t\t\t\t\t<select id=\"activityType\">\n\t\t\t\t\t\t\t<option value=\"none\" selected>Ninguno<\/option>\n\t\t\t\t\t\t\t<option value=\"cardio\">Cardio (caminar, correr&#8230;)<\/option>\n\t\t\t\t\t\t\t<option value=\"strength\">Musculaci\u00f3n<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" id=\"activity-details\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83c\udfaf Tu objetivo<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"goal\">Quiero&#8230;<\/label>\n\t\t\t\t\t\t<select id=\"goal\">\n\t\t\t\t\t\t\t<option value=\"deficit\">Perder peso<\/option>\n\t\t\t\t\t\t\t<option value=\"maintenance\" selected>Mantener el peso<\/option>\n\t\t\t\t\t\t\t<option value=\"surplus\">Ganar peso<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" id=\"intensity-group\">\n\t\t\t\t\t\t<label for=\"intensity-slider\">Intensidad (<span id=\"slider-value\">-500 kcal<\/span>)<\/label>\n\t\t\t\t\t\t<input type=\"range\" id=\"intensity-slider\" min=\"-1000\" max=\"1000\" step=\"50\" value=\"-500\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<button type=\"submit\" class=\"submit-btn\">Calcular y proyectar<\/button>\n\t\t\t<p id=\"error-message\"><\/p>\n\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n\n\t\t<section id=\"results\">\n\t\t\t<div class=\"results-summary\">\n\t\t\t\t<div class=\"result-card\" id=\"maintenance-card\">\n\t\t\t\t\t<h3>Calor\u00edas de mantenimiento (TDEE)<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"tdee-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kcal\/d\u00eda<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\" id=\"goal-card\">\n\t\t\t\t\t<h3>Tu objetivo cal\u00f3rico<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"goal-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kcal\/d\u00eda<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t<div class=\"lean-inline-cta\" style=\"margin:1.5rem 0;padding:1.25rem 1.25rem 1.1rem;background:#FFF3F7;border:1px solid #FFD6E4;border-left:4px solid #FF2D6E;border-radius:12px;text-align:center\">\n\t\t\t\t\t<p style=\"margin:0 0 .35rem;font-size:1.02em;font-weight:700;color:#0E0E10;line-height:1.35\">Esta cifra es una estimaci\u00f3n. Lean la mide.<\/p>\n\t\t\t\t\t<p style=\"margin:0 0 .9rem;font-size:.92em;color:#4D4D52;line-height:1.5\">Tu BMR sobre grasa corporal real mediante BodyScan IA, NEAT a partir de tus pasos reales, EAT por entrenamiento, TEF a partir de tus macros. Recalculado cada d\u00eda.<\/p>\n\t\t\t\t\t<div class=\"cta-buttons\" style=\"display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap\">\n\t\t\t\t\t\t<a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\" width=\"120\" height=\"40\" style=\"height:40px;width:auto;display:block\"><\/a>\n\t\t\t\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\" width=\"135\" height=\"40\" style=\"height:40px;width:auto;display:block\"><\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\n\t\t\t<div id=\"chart-container\">\n\t\t\t\t<h3>Proyecci\u00f3n de peso a 90 d\u00edas<\/h3>\n\t\t\t\t<canvas id=\"weight-chart\"><\/canvas>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<div id=\"projection-summary\" class=\"results-summary\">\n\t\t\t\t <div class=\"result-card\">\n\t\t\t\t\t<h3>En 30 d\u00edas<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-30-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\">\n\t\t\t\t\t<h3>En 60 d\u00edas<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-60-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\">\n\t\t\t\t\t<h3>En 90 d\u00edas<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-90-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"breakdown-section\">\n\t\t\t\t <div id=\"breakdown-chart-container\">\n\t\t\t\t\t<h3>Desglose del mantenimiento<\/h3>\n\t\t\t\t\t<canvas id=\"breakdown-chart\"><\/canvas>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"breakdown-text\">\n\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"cta-secondary\">\n\t\t\t\t<h3>Descarga Lean para seguir tu TDEE diario y registrar tus calor\u00edas con eficacia.<\/h3>\n\t\t\t\t<div class=\"cta-buttons\">\n\t\t\t\t\t <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/lean-app-calorie-expenditure-analysis-features-1.png\" alt=\"Lean App features\" class=\"cta-secondary-image\">\n\t\t\t<\/div>\n\n\t\t\t<section id=\"macros-section\">\n\t\t\t\t<h2>Reparto de macronutrientes<\/h2>\n\t\t\t\t<p class=\"macros-subtitle\">Seg\u00fan tu objetivo cal\u00f3rico<\/p>\n\t\t\t\t<div class=\"macros-grid\">\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>Low carb<\/h3>\n\t\t\t\t\t\t<canvas id=\"lc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">40% P \/ 40% F \/ 20% C<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Prote\u00ednas<\/span> <span id=\"lc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Grasas<\/span> <span id=\"lc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohidratos<\/span> <span id=\"lc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>Carbohidratos moderados<\/h3>\n\t\t\t\t\t\t<canvas id=\"mc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">30% P \/ 35% F \/ 35% C<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Prote\u00ednas<\/span> <span id=\"mc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Grasas<\/span> <span id=\"mc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohidratos<\/span> <span id=\"mc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>High Carb<\/h3>\n\t\t\t\t\t\t<canvas id=\"hc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">30% P \/ 20% F \/ 50% C<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Prote\u00ednas<\/span> <span id=\"hc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Grasas<\/span> <span id=\"hc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohidratos<\/span> <span id=\"hc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t\t\n\t\t\t<section id=\"body-stats-section\">\n\t\t\t\t<h2>Estad\u00edsticas corporales<\/h2>\n\t\t\t\t<div class=\"body-stats-container\">\n\t\t\t\t\t<div class=\"stat-card\" id=\"ideal-weight-card\">\n\t\t\t\t\t\t<h3>Peso ideal<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Seg\u00fan las f\u00f3rmulas habituales, este es el rango de peso saludable para tu altura. Es una gu\u00eda general y no tiene en cuenta la composici\u00f3n corporal individual.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"ideal-weight-value\">0 kg<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\">Rango de peso saludable<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"stat-card\" id=\"bmi-card\">\n\t\t\t\t\t\t<h3>Puntuaci\u00f3n IMC<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">El \u00cdndice de Masa Corporal (IMC) es un indicador simple del peso en relaci\u00f3n con la altura. No distingue entre grasa y m\u00fasculo, por lo que puede ser menos preciso en personas deportistas.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"bmi-value\">0.0<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\" id=\"bmi-category\">N\/A<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>&lt; 18.5<\/span> <span>Bajo peso<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>18.5 \u2013 24.9<\/span> <span>Normal<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>25.0 \u2013 29.9<\/span> <span>Sobrepeso<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>&gt; 30.0<\/span> <span>Obesidad<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"stat-card\" id=\"mmp-card\">\n\t\t\t\t\t\t<h3>Potencial muscular<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Esto estima tu masa magra natural m\u00e1xima seg\u00fan tu altura. Los valores siguientes muestran el peso corporal total que tendr\u00edas con esa musculatura m\u00e1xima a distintos niveles de grasa corporal.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"mmp-value\">0 kg<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\">Masa magra m\u00e1xima<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t\t\n\t\t\t<section id=\"tracking-tools-section\">\n\t\t\t\t<h2>Herramientas de seguimiento de calor\u00edas<\/h2>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>1. Base de datos de alimentos<\/h3>\n\t\t\t\t\t<div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilidad de uso<\/span><span class=\"rating rating-medium\">Media<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Disponibilidad<\/span><span class=\"rating rating-good\">Buena<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Precisi\u00f3n<\/span><span class=\"rating rating-very-good\">Muy buena<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/searching-food-database-banana-lean-app.jpg\" alt=\"Food database search\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/nutritional-details-banana-lean-app.jpg\" alt=\"Adding food from database\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>2. Escaneo de c\u00f3digo de barras<\/h3>\n\t\t\t\t\t <div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilidad de uso<\/span><span class=\"rating rating-good\">Buena<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Disponibilidad<\/span><span class=\"rating rating-medium\">Media<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Precisi\u00f3n<\/span><span class=\"rating rating-very-good\">Muy buena<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/barcode-scanner-lindt-chocolate-lean-app.jpg\" alt=\"Barcode scanner interface\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/scanning-barcode-nutritional-information-lean-app.jpg\" alt=\"Product found via barcode\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/barcode-scan-result-lindt-chocolate-lean-app.jpg\" alt=\"Nutritional information from barcode\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>3. Escaneo IA de alimentos<\/h3>\n\t\t\t\t\t  <div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilidad de uso<\/span><span class=\"rating rating-very-good\">Muy buena<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Disponibilidad<\/span><span class=\"rating rating-very-good\">Muy buena<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Precisi\u00f3n<\/span><span class=\"rating rating-medium\">Media<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-tiramisu-dessert-lean-app.jpg\" alt=\"AI food scan in action\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-result-tiramisu-dessert-lean-app.jpg\" alt=\"AI identifying food items\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-result-tiramisu-dessert-lean-app-1.jpg\" alt=\"AI providing nutritional data for scanned food\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t  <div class=\"cta-tracking\">\n\t\t\t\t\t  <div class=\"cta-col-left\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/calorie-goal-strategy-lean-app.png\" alt=\"Lean App Tracking\" class=\"promo-image-main\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cta-col-center\">\n\t\t\t\t\t\t<p>\u00bfLa mejor herramienta para registrar tus calor\u00edas? <br>Descarga <strong>Lean<\/strong> y combina estos tres m\u00e9todos seg\u00fan la situaci\u00f3n.<\/p>\n\t\t\t\t\t\t<div class=\"cta-buttons\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cta-col-right\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/lean-app-logo-calorie-tdee-tracker.png\" alt=\"Lean App Logo\" class=\"promo-logo-small\">\n\t\t\t\t\t\t<span>Lean<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t<\/div>\n\n\t<section id=\"tdee-app-section\" class=\"calculator-container\">\n\t\t<h2>App calculadora de TDEE: ll\u00e9vate esta calculadora contigo<\/h2>\n\t\t<p>Si buscabas una <strong>app calculadora de TDEE<\/strong> en lugar de una herramienta web puntual, esta p\u00e1gina es la versi\u00f3n web de exactamente eso: <strong>Lean<\/strong>, una app calculadora de TDEE para iPhone y Android. La diferencia se nota desde el primer d\u00eda. En lugar de usar el n\u00famero medio de pasos que escribiste una vez, la app lee tus pasos reales desde Apple Health o Google Fit y recalcula tu TDEE cada d\u00eda.<\/p>\n\t\t<p>La app tambi\u00e9n va m\u00e1s lejos que cualquier calculadora est\u00e1tica: mide tu grasa corporal a partir de una sola foto con un BodyScan IA, calcula tu BMR sobre tu masa magra real con un modelo propietario patentado y modeliza la adaptaci\u00f3n metab\u00f3lica, la ralentizaci\u00f3n que semanas de dieta imponen a tu metabolismo. \u00bfQuemas 2.600 kcal un d\u00eda de 15.000 pasos y 2.100 kcal un d\u00eda de oficina? La app ve la diferencia; una cifra fija no.<\/p>\n\t\t<div class=\"cta-buttons\">\n\t\t\t<a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t<\/a>\n\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t<p>\u00bfSigues comparando trackers? Lee nuestra gu\u00eda de las mejores <a href=\"\/en\/alternative-myfitnesspal\/\">alternativas a MyFitnessPal<\/a>.<\/p>\n\t<\/section>\n\n\t<section id=\"seo-article-section\" class=\"calculator-container\">\n\t\t<h2>Entender tu TDEE: la gu\u00eda definitiva<\/h2>\n\t\t<p>Orientarse en el mundo del fitness y la nutrici\u00f3n puede ser complejo, pero entender tu gasto energ\u00e9tico diario total (TDEE) es el primer paso m\u00e1s crucial. Una <strong>Calculadora de TDEE<\/strong> es una herramienta potente que desmitifica este proceso y ofrece un punto de partida claro y con base cient\u00edfica para cualquier objetivo de control de peso. Esta gu\u00eda te explica todo lo que necesitas saber sobre el TDEE y c\u00f3mo usar esta calculadora con eficacia.<\/p>\n\n\t\t<h3>\u00bfQu\u00e9 es el TDEE?<\/h3>\n\t\t<p>TDEE significa Total Daily Energy Expenditure. Representa el n\u00famero total de calor\u00edas que tu cuerpo quema en un periodo de 24 horas. No se trata solo del ejercicio; es una medida completa que incluye todas las funciones corporales, desde respirar y pensar hasta caminar y entrenar. Conocer tu TDEE significa saber exactamente cu\u00e1ntas calor\u00edas necesita tu cuerpo para mantener su peso actual. Esta cifra es la base sobre la que se construyen todos los planes de alimentaci\u00f3n eficaces.<\/p>\n\n\t\t<h3>Los cuatro componentes de tu TDEE<\/h3>\n\t\t<p>Tu TDEE no es una cifra \u00fanica, sino la suma de cuatro componentes clave:<\/p>\n\t\t<ul>\n\t\t\t<li><strong>Metabolismo basal (BMR):<\/strong> Es la energ\u00eda que tu cuerpo utiliza en reposo completo para realizar funciones vitales como respirar, hacer circular la sangre y regular la temperatura corporal. Es la mayor parte de tu TDEE. Nuestra herramienta usa la precisa f\u00f3rmula Katch-McArdle, que requiere el porcentaje de grasa corporal, lo que la convierte en una <strong>Calculadora de BMR<\/strong> m\u00e1s precisa que las que se basan solo en el peso y la altura.<\/li>\n\t\t\t<li><strong>Non-Exercise Activity Thermogenesis (NEAT):<\/strong> Incluye todas las calor\u00edas quemadas en actividades que no son ejercicio formal, como caminar hasta el coche, teclear, moverte o hacer tareas dom\u00e9sticas. Los pasos diarios son una gran manera de medir y aumentar tu NEAT.<\/li>\n\t\t\t<li><strong>Exercise Activity Thermogenesis (EAT):<\/strong> Es la energ\u00eda gastada durante actividades f\u00edsicas planificadas como correr, levantar pesas o practicar deportes.<\/li>\n\t\t\t<li><strong>Thermic Effect of Food (TEF):<\/strong> Tu cuerpo usa energ\u00eda para digerir, absorber y metabolizar la comida que ingieres. Esto representa alrededor del 10 % de tu ingesta cal\u00f3rica diaria.<\/li>\n\t\t<\/ul>\n\n\t\t<h3>C\u00f3mo usar una calculadora de TDEE para perder peso<\/h3>\n\t\t<p>Para perder peso, necesitas estar en d\u00e9ficit cal\u00f3rico. Esto significa consumir menos calor\u00edas que tu TDEE. Una <strong>calculadora de d\u00e9ficit cal\u00f3rico<\/strong> es b\u00e1sicamente una calculadora de TDEE usada con este fin concreto. Una vez que conoces tu TDEE de mantenimiento, puedes crear un d\u00e9ficit sostenible. Por ejemplo, un d\u00e9ficit de 500 calor\u00edas al d\u00eda suele llevar a una p\u00e9rdida de unos 0,45 kg por semana. Nuestra <strong>calculadora de TDEE para perder peso<\/strong> te permite fijar este d\u00e9ficit con precisi\u00f3n y proyecta tu progreso en el tiempo.<\/p>\n\n\t\t<h3>BMR vs. TDEE: \u00bfcu\u00e1l es la diferencia?<\/h3>\n\t\t<p>Es habitual confundir BMR y TDEE. Pi\u00e9nsalo as\u00ed: tu BMR es el coste energ\u00e9tico \u00aben reposo\u00bb de tu cuerpo, mientras que tu TDEE es el coste total incluyendo todas tus actividades diarias. Nunca deber\u00edas comer por debajo de tu BMR, ya que puede perjudicar tu metabolismo y tu salud. El TDEE es la cifra pr\u00e1ctica que debes usar para planificar tu dieta.<\/p>\n\n\t\t<h3>Calcular tus macros a partir de tu TDEE<\/h3>\n\t\t<p>Una vez que tienes tu ingesta cal\u00f3rica objetivo de la calculadora de TDEE, el siguiente paso es determinar tu reparto de macronutrientes (prote\u00ednas, grasas y carbohidratos). Una buena <strong>calculadora de macros<\/strong> usa tu TDEE como punto de partida. Nuestra herramienta ofrece tres planes de dieta habituales (bajo, moderado y alto en carbohidratos) para ayudarte a encontrar un equilibrio que se adapte a tu estilo de vida y preferencias, asegurando que no solo alcanzas una cifra de calor\u00edas, sino que tambi\u00e9n alimentas tu cuerpo con eficacia.<\/p>\n\t<\/section>\n\n\t<script>\n\t\t\/\/ --- GLOBAL VARIABLES ---\n\t\tconst form = document.getElementById('tdee-form');\n\t\tconst resultsSection = document.getElementById('results');\n\t\tconst errorMessage = document.getElementById('error-message');\n\t\tconst unitSelect = document.getElementById('units');\n\t\tconst weightLabel = document.querySelector('label[for=\"weight\"] .unit');\n\t\tconst heightLabel = document.querySelector('label[for=\"height\"] .unit');\n\t\tconst goalSelect = document.getElementById('goal');\n\t\tconst intensityGroup = document.getElementById('intensity-group');\n\t\tconst slider = document.getElementById('intensity-slider');\n\t\tconst sliderValueLabel = document.getElementById('slider-value');\n\t\tconst activityTypeSelect = document.getElementById('activityType');\n\t\tconst activityDetailsDiv = document.getElementById('activity-details');\n\t\tlet weightChart, breakdownChart, lcChart, mcChart, hcChart;\n\n\t\t\/\/ --- UI EVENT LISTENERS ---\n\t\tunitSelect.addEventListener('change', () => {\n\t\t\tconst isMetric = unitSelect.value === 'metric';\n\t\t\tweightLabel.textContent = isMetric ? '(kg)' : '(lbs)';\n\t\t\theightLabel.textContent = isMetric ? '(cm)' : '(in)';\n\t\t\tdocument.getElementById('height').placeholder = isMetric ? '175' : '69';\n\t\t});\n\n\t\tfunction handleGoalChange() {\n\t\t\tconst goal = goalSelect.value;\n\t\t\tif (goal === 'maintenance') {\n\t\t\t\tintensityGroup.style.opacity = '0.5';\n\t\t\t\tslider.disabled = true;\n\t\t\t\tslider.value = 0;\n\t\t\t} else {\n\t\t\t\tintensityGroup.style.opacity = '1';\n\t\t\t\tslider.disabled = false;\n\t\t\t\tslider.min = (goal === 'deficit') ? -1000 : 100;\n\t\t\t\tslider.max = (goal === 'deficit') ? -100 : 1000;\n\t\t\t\tslider.value = (goal === 'deficit') ? -500 : 250;\n\t\t\t}\n\t\t\tupdateSliderLabel();\n\t\t}\n\n\t\tfunction updateSliderLabel() {\n\t\t\tconst value = parseInt(slider.value);\n\t\t\tconst sign = value >= 0 ? '+' : '';\n\t\t\tsliderValueLabel.textContent = `${sign}${value} kcal`;\n\t\t}\n\n\t\tgoalSelect.addEventListener('change', handleGoalChange);\n\t\tslider.addEventListener('input', updateSliderLabel);\n\n\t\tfunction handleActivityTypeChange() {\n\t\t\tconst type = activityTypeSelect.value;\n\t\t\tactivityDetailsDiv.innerHTML = ''; \/\/ Clear previous\n\n\t\t\tif (type === 'cardio') {\n\t\t\t\tactivityDetailsDiv.innerHTML = `\n\t\t\t\t\t<label for=\"activityMET\">Cardio Type<\/label>\n\t\t\t\t\t<select id=\"activityMET\" class=\"input-group\">\n\t\t\t\t\t\t <optgroup label=\"Walking\"><option value=\"3.8\">Moderate<\/option><option value=\"5.0\">Fast<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"Running\"><option value=\"9.8\">Moderate<\/option><option value=\"12.8\">Fast<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"Cycling\"><option value=\"8.0\">Moderate<\/option><option value=\"10.0\">Vigorous<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"Swimming\"><option value=\"7.0\">Moderate<\/option><option value=\"9.8\">Vigorous<\/option><\/optgroup>\n\t\t\t\t\t<\/select>\n\t\t\t\t\t<label for=\"duration\" style=\"margin-top: 1rem;\">Duration <span class=\"unit\">(min)<\/span><\/label>\n\t\t\t\t\t<input type=\"number\" id=\"duration\" placeholder=\"45\" value=\"45\" class=\"input-group\">\n\t\t\t\t`;\n\t\t\t} else if (type === 'strength') {\n\t\t\t\tactivityDetailsDiv.innerHTML = `\n\t\t\t\t\t<label for=\"strengthIntensity\">Intensity<\/label>\n\t\t\t\t\t<select id=\"strengthIntensity\" class=\"input-group\">\n\t\t\t\t\t\t<option value=\"3.0\">Light<\/option>\n\t\t\t\t\t\t<option value=\"4.5\" selected>Moderate<\/option>\n\t\t\t\t\t\t<option value=\"6.0\">Intensive<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t`;\n\t\t\t}\n\t\t}\n\t\tactivityTypeSelect.addEventListener('change', handleActivityTypeChange);\n\n\t\t\/\/ --- FORM SUBMISSION & CALCULATION ---\n\t\tform.addEventListener('submit', function(event) {\n\t\t\tevent.preventDefault();\n\n\t\t\tlet weight = parseFloat(document.getElementById('weight').value);\n\t\t\tlet height = parseFloat(document.getElementById('height').value);\n\t\t\tconst age = parseFloat(document.getElementById('age').value);\n\t\t\tconst gender = document.getElementById('gender').value;\n\t\t\tconst bodyfat = parseFloat(document.getElementById('bodyfat').value);\n\t\t\tconst steps = parseFloat(document.getElementById('steps').value);\n\t\t\tconst goal = goalSelect.value;\n\t\t\tconst kcalChange = goal === 'maintenance' ? 0 : parseInt(slider.value);\n\t\t\t\n\t\t\tif (isNaN(weight) || isNaN(bodyfat) || isNaN(steps) || isNaN(height) || isNaN(age)) {\n\t\t\t\terrorMessage.textContent = \"Please fill all required fields with valid numbers.\";\n\t\t\t\terrorMessage.style.display = 'block';\n\t\t\t\tresultsSection.style.display = 'none';\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ New validation for ranges\n\t\t\tif (age < 15 || age > 110) { errorMessage.textContent = \"Please enter an age between 15 and 110.\"; }\n\t\t\telse if (weight < 25 || weight > 500) { errorMessage.textContent = \"Please enter a weight between 25 and 500 kg.\"; }\n\t\t\telse if (height < 70 || height > 250) { errorMessage.textContent = \"Please enter a height between 70 and 250 cm.\"; }\n\t\t\telse if (bodyfat < 1 || bodyfat > 80) { errorMessage.textContent = \"Please enter a body fat percentage between 1 and 80.\"; }\n\t\t\telse { errorMessage.style.display = 'none'; }\n\n\t\t\tif(errorMessage.style.display === 'block') {\n\t\t\t\tresultsSection.style.display = 'none';\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tconst currentUnits = unitSelect.value;\n\t\t\tif (currentUnits === 'imperial') {\n\t\t\t\tweight = weight * 0.453592; \/\/ lbs to kg\n\t\t\t\theight = height * 2.54; \/\/ in to cm\n\t\t\t}\n\n\t\t\tlet activityMet = 0;\n\t\t\tlet duration = 0;\n\t\t\tconst activityType = activityTypeSelect.value;\n\t\t\tif (activityType === 'cardio') {\n\t\t\t\tactivityMet = parseFloat(document.getElementById('activityMET')?.value) || 0;\n\t\t\t\tduration = parseFloat(document.getElementById('duration')?.value) || 0;\n\t\t\t} else if (activityType === 'strength') {\n\t\t\t\tactivityMet = parseFloat(document.getElementById('strengthIntensity')?.value) || 0;\n\t\t\t\tduration = 45; \/\/ Hardcoded 45 minutes for strength\n\t\t\t}\n\t\t\t\n\t\t\tconst leanBodyMass = weight * (1 - (bodyfat \/ 100));\n\t\t\tconst bmr = 370 + (21.6 * leanBodyMass);\n\t\t\tconst neat = (bmr * steps) \/ 48000;\n\t\t\tconst eat = activityMet * weight * (duration \/ 60);\n\t\t\tconst X = bmr + neat + eat;\n\n\t\t\tconst tefForMaintenance = X \/ 9;\n\t\t\tconst tdeeForMaintenance = X + tefForMaintenance;\n\n\t\t\tconst tefForGoal = (X + kcalChange) \/ 9;\n\t\t\tconst tdeeForGoal = X + tefForGoal;\n\t\t\tconst goalCalories = tdeeForGoal + kcalChange;\n\n\t\t\tdocument.getElementById('tdee-result').textContent = tdeeForMaintenance.toFixed(0);\n\t\t\tdocument.getElementById('goal-result').textContent = goalCalories.toFixed(0);\n\n\t\t\tconst goalCard = document.getElementById('goal-card');\n\t\t\tgoalCard.className = 'result-card';\n\t\t\tgoalCard.classList.add(goal);\n\n\t\t\tconst { labels, dailyData, avgData, projectedWeights } = generateProjectionData(weight, kcalChange, currentUnits);\n\n\t\t\tdocument.getElementById('p-30-result').textContent = parseFloat(projectedWeights[30]).toFixed(1);\n\t\t\tdocument.getElementById('p-60-result').textContent = parseFloat(projectedWeights[60]).toFixed(1);\n\t\t\tdocument.getElementById('p-90-result').textContent = parseFloat(projectedWeights[90]).toFixed(1);\n\t\t\tdocument.querySelectorAll('#projection-summary .unit').forEach(el => {\n\t\t\t\tel.textContent = currentUnits === 'metric' ? 'kg' : 'lbs';\n\t\t\t});\n\t\t\t\n\t\t\tresultsSection.style.display = 'block';\n\t\t\t\n\t\t\t\/\/ Move SEO article into results section\n\t\t\tconst seoArticle = document.getElementById('seo-article-section');\n\t\t\tresultsSection.appendChild(seoArticle);\n\n\t\t\tupdateBreakdownDisplay(bmr, neat, eat, tefForMaintenance);\n\t\t\tupdateWeightChart(labels, dailyData, avgData, kcalChange, currentUnits);\n\t\t\tupdateMacrosDisplay(goalCalories);\n\t\t\tupdateBodyStatsDisplay(weight, height, gender, currentUnits);\n\n\t\t\tresultsSection.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t});\n\t\t\n\t\tfunction generateProjectionData(startWeight, kcalChange, units) {\n\t\t\tconst kgChangePerDay = kcalChange \/ 7700;\n\t\t\tconst labels = [];\n\t\t\tconst dailyData = [];\n\t\t\tconst avgData = [];\n\t\t\tconst projectedWeights = [];\n\t\t\tlet trueAvgWeight = startWeight;\n\n\t\t\tfor (let i = 0; i <= 90; i++) {\n\t\t\t\tlabels.push(`Day ${i}`);\n\t\t\t\tif (i > 0) trueAvgWeight += kgChangePerDay;\n\t\t\t\t\n\t\t\t\tconst avgWobble = (Math.sin(i \/ 6) * 0.15) + ((Math.random() - 0.5) * 0.1);\n\t\t\t\tconst wobbledAvgWeight = trueAvgWeight + avgWobble;\n\t\t\t\tconst dailyFluctuation = (Math.random() - 0.5) * 0.8;\n\t\t\t\tconst currentDailyWeight = wobbledAvgWeight + dailyFluctuation;\n\t\t\t\t\n\t\t\t\tif (units === 'imperial') {\n\t\t\t\t\tdailyData.push((currentDailyWeight * 2.20462).toFixed(2));\n\t\t\t\t\tavgData.push((wobbledAvgWeight * 2.20462).toFixed(2));\n\t\t\t\t\tprojectedWeights.push((trueAvgWeight * 2.20462).toFixed(2));\n\t\t\t\t} else {\n\t\t\t\t\tdailyData.push(currentDailyWeight.toFixed(2));\n\t\t\t\t\tavgData.push(wobbledAvgWeight.toFixed(2));\n\t\t\t\t\tprojectedWeights.push(trueAvgWeight.toFixed(2));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { labels, dailyData, avgData, projectedWeights };\n\t\t}\n\n\t\t\/\/ --- CHART & DISPLAY FUNCTIONS ---\n\t\tfunction updateBreakdownDisplay(bmr, neat, eat, tef) {\n\t\t\tconst breakdownTextDiv = document.getElementById('breakdown-text');\n\t\t\tbreakdownTextDiv.innerHTML = `\n\t\t\t\t<h3>Details<\/h3>\n\t\t\t\t<ul>\n\t\t\t\t\t<li><span>BMR (Base Metabolism)<\/span> <span>${bmr.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>NEAT (Non-Exercise)<\/span> <span>${neat.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>EAT (Exercise)<\/span> <span>${eat.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>TEF (Food Digestion)<\/span> <span>${tef.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t<\/ul>\n\t\t\t`;\n\t\t\tconst ctx = document.getElementById('breakdown-chart').getContext('2d');\n\t\t\tif (breakdownChart) breakdownChart.destroy();\n\t\t\tbreakdownChart = new Chart(ctx, {\n\t\t\t\ttype: 'doughnut',\n\t\t\t\tdata: {\n\t\t\t\t\tlabels: ['BMR', 'NEAT', 'EAT', 'TEF'],\n\t\t\t\t\tdatasets: [{\n\t\t\t\t\t\tdata: [bmr, neat, eat, tef],\n\t\t\t\t\t\tbackgroundColor: ['#EB628C', '#EF8652', '#E9473E', '#EDDB7F'],\n\t\t\t\t\t\tborderColor: '#F8F8F9',\n\t\t\t\t\t\tborderWidth: 4\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\tresponsive: true,\n\t\t\t\t\tcutout: '60%',\n\t\t\t\t\tplugins: { legend: { position: 'bottom' }, tooltip: { callbacks: { label: (c) => `${c.label}: ${c.parsed.toFixed(0)} kcal` } } }\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfunction updateWeightChart(labels, dailyData, avgData, kcalChange, units) {\n\t\t\tconst yAxisOptions = { title: { display: true, text: `Weight (${units === 'metric' ? 'kg' : 'lbs'})` } };\n\t\t\tif (Math.abs(kcalChange) < 50) {\n\t\t\t\tconst allWeights = dailyData.map(parseFloat);\n\t\t\t\tconst minVal = Math.min(...allWeights);\n\t\t\t\tconst maxVal = Math.max(...allWeights);\n\t\t\t\tyAxisOptions.suggestedMin = minVal - 2;\n\t\t\t\tyAxisOptions.suggestedMax = maxVal + 2;\n\t\t\t}\n\t\t\tconst goal = goalSelect.value;\n\t\t\tconst colorSet = {\n\t\t\t\tdeficit: { line: 'rgba(0, 90, 156, 1)', area: 'rgba(0, 90, 156, 0.1)' },\n\t\t\t\tmaintenance: { line: 'rgba(31, 136, 61, 1)', area: 'rgba(31, 136, 61, 0.1)' },\n\t\t\t\tsurplus: { line: 'rgba(217, 45, 32, 1)', area: 'rgba(217, 45, 32, 0.1)' }\n\t\t\t};\n\t\t\tconst ctx = document.getElementById('weight-chart').getContext('2d');\n\t\t\tif (weightChart) weightChart.destroy();\n\t\t\tweightChart = new Chart(ctx, {\n\t\t\t\ttype: 'line',\n\t\t\t\tdata: {\n\t\t\t\t\tlabels: labels,\n\t\t\t\t\tdatasets: [\n\t\t\t\t\t\t{ label: `Daily Weight (Simulated)`, data: dailyData, borderColor: 'transparent', backgroundColor: colorSet[goal].area, pointRadius: 0, fill: true, },\n\t\t\t\t\t\t{ label: 'Average Weight (Projection)', data: avgData, borderColor: colorSet[goal].line, borderWidth: 2.5, pointRadius: 0, fill: false, tension: 0.4 }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\toptions: { responsive: true, scales: { y: yAxisOptions, x: { title: { display: true, text: 'Days' } } }, plugins: { tooltip: { mode: 'index', intersect: false } }, interaction: { mode: 'index', intersect: false } }\n\t\t\t});\n\t\t}\n\t\t\n\t\tfunction updateMacrosDisplay(calories) {\n\t\t\tconst ratios = { lc: { p: 0.40, f: 0.40, c: 0.20 }, mc: { p: 0.30, f: 0.35, c: 0.35 }, hc: { p: 0.30, f: 0.20, c: 0.50 } };\n\t\t\tdocument.getElementById('lc-protein').textContent = `${((calories * ratios.lc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('lc-fat').textContent = `${((calories * ratios.lc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('lc-carbs').textContent = `${((calories * ratios.lc.c) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-protein').textContent = `${((calories * ratios.mc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-fat').textContent = `${((calories * ratios.mc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-carbs').textContent = `${((calories * ratios.mc.c) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-protein').textContent = `${((calories * ratios.hc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-fat').textContent = `${((calories * ratios.hc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-carbs').textContent = `${((calories * ratios.hc.c) \/ 4).toFixed(0)} g`;\n\t\t\tconst macroColors = ['#E55480', '#A377E3', '#F2C042'];\n\t\t\tconst chartOptions = { responsive: true, cutout: '60%', plugins: { legend: { display: false }, tooltip: { callbacks: { label: (c) => `${c.label}: ${c.parsed.toFixed(0)} kcal` } } } };\n\t\t\tconst lcCtx = document.getElementById('lc-chart').getContext('2d');\n\t\t\tif(lcChart) lcChart.destroy();\n\t\t\tlcChart = new Chart(lcCtx, { type: 'doughnut', data: { labels: ['Protein', 'Fats', 'Carbs'], datasets: [{ data: [calories * ratios.lc.p, calories * ratios.lc.f, calories * ratios.lc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t\tconst mcCtx = document.getElementById('mc-chart').getContext('2d');\n\t\t\tif(mcChart) mcChart.destroy();\n\t\t\tmcChart = new Chart(mcCtx, { type: 'doughnut', data: { labels: ['Protein', 'Fats', 'Carbs'], datasets: [{ data: [calories * ratios.mc.p, calories * ratios.mc.f, calories * ratios.mc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t\tconst hcCtx = document.getElementById('hc-chart').getContext('2d');\n\t\t\tif(hcChart) hcChart.destroy();\n\t\t\thcChart = new Chart(hcCtx, { type: 'doughnut', data: { labels: ['Protein', 'Fats', 'Carbs'], datasets: [{ data: [calories * ratios.hc.p, calories * ratios.hc.f, calories * ratios.hc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t}\n\n\t\tfunction updateBodyStatsDisplay(weightKg, heightCm, gender, units) {\n\t\t\tconst isMetric = units === 'metric';\n\t\t\tconst weightUnit = isMetric ? 'kg' : 'lbs';\n\t\t\t\n\t\t\t\/\/ --- BMI Calculation ---\n\t\t\tconst heightM = heightCm \/ 100;\n\t\t\tconst bmi = weightKg \/ (heightM * heightM);\n\t\t\tlet bmiCategory = 'N\/A';\n\t\t\tif (bmi < 18.5) bmiCategory = 'Underweight';\n\t\t\telse if (bmi < 25) bmiCategory = 'Normal Weight';\n\t\t\telse if (bmi < 30) bmiCategory = 'Overweight';\n\t\t\telse bmiCategory = 'Obese';\n\t\t\tdocument.getElementById('bmi-value').textContent = bmi.toFixed(1);\n\t\t\tdocument.getElementById('bmi-category').textContent = bmiCategory;\n\n\t\t\t\/\/ --- Ideal Weight Calculation ---\n\t\t\tconst heightIn = heightCm \/ 2.54;\n\t\t\tconst inchesOver5Ft = heightIn > 60 ? heightIn - 60 : 0;\n\t\t\tlet idealWeights = [];\n\t\t\tif (gender === 'male') {\n\t\t\t\tidealWeights.push(48.0 + 2.7 * inchesOver5Ft); \/\/ Hamwi\n\t\t\t\tidealWeights.push(50.0 + 2.3 * inchesOver5Ft); \/\/ Devine\n\t\t\t\tidealWeights.push(52.0 + 1.9 * inchesOver5Ft); \/\/ Robinson\n\t\t\t\tidealWeights.push(56.2 + 1.41 * inchesOver5Ft); \/\/ Miller\n\t\t\t} else { \/\/ female\n\t\t\t\tidealWeights.push(45.5 + 2.2 * inchesOver5Ft); \/\/ Hamwi\n\t\t\t\tidealWeights.push(45.5 + 2.3 * inchesOver5Ft); \/\/ Devine\n\t\t\t\tidealWeights.push(49.0 + 1.7 * inchesOver5Ft); \/\/ Robinson\n\t\t\t\tidealWeights.push(53.1 + 1.36 * inchesOver5Ft); \/\/ Miller\n\t\t\t}\n\t\t\tconst minIdeal = Math.min(...idealWeights);\n\t\t\tconst maxIdeal = Math.max(...idealWeights);\n\t\t\tconst idealRangeKg = `${minIdeal.toFixed(1)} - ${maxIdeal.toFixed(1)}`;\n\t\t\tconst idealRangeLbs = `${(minIdeal * 2.20462).toFixed(1)} - ${(maxIdeal * 2.20462).toFixed(1)}`;\n\t\t\tdocument.getElementById('ideal-weight-value').textContent = isMetric ? `${idealRangeKg} kg` : `${idealRangeLbs} lbs`;\n\n\t\t\tconst idealWeightList = document.querySelector('#ideal-weight-card ul');\n\t\t\tidealWeightList.innerHTML = `\n\t\t\t\t<li><span>Hamwi Formula<\/span><span>${(isMetric ? idealWeights[0].toFixed(1) : (idealWeights[0] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Devine Formula<\/span><span>${(isMetric ? idealWeights[1].toFixed(1) : (idealWeights[1] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Robinson Formula<\/span><span>${(isMetric ? idealWeights[2].toFixed(1) : (idealWeights[2] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Miller Formula<\/span><span>${(isMetric ? idealWeights[3].toFixed(1) : (idealWeights[3] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t`;\n\n\t\t\t\/\/ --- Max Muscular Potential ---\n\t\t\tconst maxLBMKg = heightCm - 100;\n\t\t\tconst maxLBMDisplay = isMetric ? `${maxLBMKg.toFixed(1)} kg` : `${(maxLBMKg * 2.20462).toFixed(1)} lbs`;\n\t\t\tdocument.getElementById('mmp-value').textContent = maxLBMDisplay;\n\t\t\t\n\t\t\tconst mmpList = document.querySelector('#mmp-card ul');\n\t\t\tmmpList.innerHTML = `\n\t\t\t\t<li><span>Total Weight at 8% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.92).toFixed(1) : ((maxLBMKg \/ 0.92) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Total Weight at 10% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.90).toFixed(1) : ((maxLBMKg \/ 0.90) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Total Weight at 12% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.88).toFixed(1) : ((maxLBMKg \/ 0.88) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t`;\n\t\t}\n\n\n\t\t\/\/ --- INITIALIZE UI ---\n\t\thandleGoalChange();\n\t\thandleActivityTypeChange();\n\t<\/script>\n<\/body>\n<\/html>\n\n\n\n<section class=\"lean-method\" style=\"margin:40px auto 0;max-width:760px;padding:22px 26px;background:#FAF7F2;border-radius:12px;font-family:-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif;color:#1a1a2e;line-height:1.55;\"><h2 style=\"margin:0 0 10px;font-size:20px;\">M\u00e9todo y fuentes<\/h2><p style=\"margin:0 0 10px;font-size:15px;\">Esta calculadora construye el gasto energ\u00e9tico diario total a partir de cuatro componentes medidos: metabolismo basal calculado sobre la grasa corporal (masa libre de grasa) en lugar de solo sobre la edad y el peso, termog\u00e9nesis por actividad no asociada al ejercicio derivada de los pasos diarios, gasto energ\u00e9tico del ejercicio a partir de valores MET, y efecto t\u00e9rmico de los alimentos a partir del reparto de macronutrientes. La adaptaci\u00f3n metab\u00f3lica se trata por separado como un coeficiente aplicado al metabolismo basal, nunca sumado al total.<\/p><ul style=\"margin:0 0 12px 18px;padding:0;font-size:14px;color:#4D4D52;\"><li>Harris J.A., Benedict F.G. (1918). A Biometric Study of Human Basal Metabolism. PNAS 4(12):370-373.<\/li><li>Mifflin M.D. et al. (1990). A new predictive equation for resting energy expenditure in healthy individuals. Am J Clin Nutr 51(2):241-247.<\/li><li>Levine J.A. (2004). Non-exercise activity thermogenesis (NEAT). Nutr Rev 62(7 Pt 2):S82-S97.<\/li><li>Westerterp K.R. (2004). Diet induced thermogenesis. Nutr Metab (Lond) 1:5.<\/li><li>Ainsworth B.E. et al. (2011). 2011 Compendium of Physical Activities. Med Sci Sports Exerc 43(8):1575-1581.<\/li><li>Equipo de investigaci\u00f3n Lean (2026). 857&nbsp;655 productos analizados: coherencia interna de los datos de calor\u00edas en Open Food Facts. Zenodo, DOI 10.5281\/zenodo.22284416.<\/li><\/ul><p style=\"margin:0;font-size:13px;color:#4D4D52;\">Esta herramienta proporciona estimaciones con fines informativos y educativos. No es un consejo m\u00e9dico y no sustituye una consulta con un m\u00e9dico o un dietista titulado, especialmente en caso de enfermedad, embarazo o trastorno alimentario.<\/p><\/section>\n\n\n\n<!-- lean-mesh-v11 -->\n<aside class=\"lean-mesh\" style=\"margin:48px auto;max-width:760px;padding:24px 28px;background:#ffffff;border-left:4px solid #FF2D6E;border-radius:0 12px 12px 0;box-shadow:0 6px 24px rgba(20,20,40,0.06);font-family:-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif;color:#1a1a2e;\"><p style=\"margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#FF2D6E;\">Sigue leyendo<\/p><ul style=\"list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;\"><li><a href=\"https:\/\/lean-app.com\/en\/calcul-metabolisme-de-base\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calculadora de BMR: Harris-Benedict, Mifflin-St Jeor y el modelo Lean comparados <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Por qu\u00e9 las f\u00f3rmulas de 1919 fallan en tu metabolismo basal real, y qu\u00e9 cambia la grasa corporal.<\/span><\/a><\/li><li><a href=\"https:\/\/lean-app.com\/en\/calculateur-neat\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calculadora NEAT: cu\u00e1ntas calor\u00edas queman realmente tus pasos <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">La parte no deportiva de tu gasto, a partir de tu recuento diario de pasos.<\/span><\/a><\/li><li><a href=\"https:\/\/lean-app.com\/en\/calculateur-deficit-calorique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calculadora de d\u00e9ficit cal\u00f3rico: el enfoque correcto para una definici\u00f3n <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Un d\u00e9ficit construido sobre tu TDEE real, tres ritmos de lento a agresivo.<\/span><\/a><\/li><li><a href=\"https:\/\/lean-app.com\/en\/calculateur-masse-grasse\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calculadora de grasa corporal: tu porcentaje de grasa real (m\u00e9todo US Navy) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">El dato que hace precisa una estimaci\u00f3n del TDEE.<\/span><\/a><\/li><li><a href=\"https:\/\/lean-app.com\/en\/calculateurs\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Todas las calculadoras Lean: gasto y necesidades, componente por componente <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">TDEE, BMR, NEAT, grasa corporal, prote\u00ednas, macros, adaptaci\u00f3n metab\u00f3lica.<\/span><\/a><\/li><\/ul><\/aside>","protected":false},"excerpt":{"rendered":"<p>Advanced TDEE Calculator TDEE Calculator Define your goal and visualize your progress. \u2699\ufe0f Units Metric (kg, cm)Imperial (lbs, in) \ud83d\udc64 Your Information Gender MaleFemale Age Weight (kg) Height (cm) Body Fat (%) Need to measure your body fat accurately? Download Lean and use the AI BodyScan! Lean \ud83c\udfc3 Your Activity Steps per day Sport Type [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-675","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Aplicaci\u00f3n calculadora de TDEE con pasos: gratis y precisa (2026) - Lean<\/title>\n<meta name=\"description\" content=\"La calculadora TDEE que cuenta tus pasos: BMR sobre grasa corporal real, NEAT desde el n\u00famero de pasos, entrenamientos (EAT) y TEF. Calor\u00edas de mantenimiento precisas, gratis.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lean-app.com\/es\/tdee-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aplicaci\u00f3n calculadora de TDEE con pasos: gratis y precisa (2026) - Lean\" \/>\n<meta property=\"og:description\" content=\"La calculadora TDEE que cuenta tus pasos: BMR sobre grasa corporal real, NEAT desde el n\u00famero de pasos, entrenamientos (EAT) y TEF. Calor\u00edas de mantenimiento precisas, gratis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/es\/tdee-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Lean\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-30T12:13:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-05T09:34:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\" \/>\n<meta name=\"author\" content=\"L&#039;\u00e9quipe Lean\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"L&#039;\u00e9quipe Lean\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/\"},\"author\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"headline\":\"TDEE calculator\",\"datePublished\":\"2025-07-30T12:13:15+00:00\",\"dateModified\":\"2026-09-05T09:34:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/\"},\"wordCount\":1376,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lean-app.com\/tdee-calculator\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/\",\"url\":\"https:\/\/lean-app.com\/tdee-calculator\/\",\"name\":\"TDEE Calculator App With Steps: Free and Accurate (2026) - Lean\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"datePublished\":\"2025-07-30T12:13:15+00:00\",\"dateModified\":\"2026-09-05T09:34:02+00:00\",\"description\":\"The TDEE calculator that counts your steps: BMR on real body fat, NEAT from step count, workouts (EAT) and TEF. Accurate maintenance calories, free.\",\"breadcrumb\":{\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#breadcrumb\"},\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/tdee-calculator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lean-app.com\/tdee-calculator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lean-app.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TDEE calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lean-app.com\/#website\",\"url\":\"https:\/\/lean-app.com\/\",\"name\":\"Lean\",\"description\":\"T\u00e9l\u00e9charge, essaye GRATUITEMENT l&#039;application et prends en main ton corps \u00c0 VIE.\",\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lean-app.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-ES\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lean-app.com\/#organization\",\"name\":\"Lean\",\"url\":\"https:\/\/lean-app.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"width\":1672,\"height\":1484,\"caption\":\"Lean\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\",\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646\",\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\",\"https:\/\/app.dealroom.co\/companies\/lean_calorie_tracker\",\"https:\/\/alternativeto.net\/software\/lean-calorie-tracker\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aplicaci\u00f3n calculadora de TDEE con pasos: gratis y precisa (2026) - Lean","description":"La calculadora TDEE que cuenta tus pasos: BMR sobre grasa corporal real, NEAT desde el n\u00famero de pasos, entrenamientos (EAT) y TEF. Calor\u00edas de mantenimiento precisas, gratis.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lean-app.com\/es\/tdee-calculator\/","og_locale":"es_ES","og_type":"article","og_title":"Aplicaci\u00f3n calculadora de TDEE con pasos: gratis y precisa (2026) - Lean","og_description":"La calculadora TDEE que cuenta tus pasos: BMR sobre grasa corporal real, NEAT desde el n\u00famero de pasos, entrenamientos (EAT) y TEF. Calor\u00edas de mantenimiento precisas, gratis.","og_url":"https:\/\/lean-app.com\/es\/tdee-calculator\/","og_site_name":"Lean","article_publisher":"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr","article_published_time":"2025-07-30T12:13:15+00:00","article_modified_time":"2026-09-05T09:34:02+00:00","og_image":[{"url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","type":"","width":"","height":""}],"author":"L'\u00e9quipe Lean","twitter_card":"summary_large_image","twitter_misc":{"Written by":"L'\u00e9quipe Lean","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lean-app.com\/tdee-calculator\/#article","isPartOf":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/"},"author":{"@id":"https:\/\/lean-app.com\/#organization"},"headline":"TDEE calculator","datePublished":"2025-07-30T12:13:15+00:00","dateModified":"2026-09-05T09:34:02+00:00","mainEntityOfPage":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/"},"wordCount":1376,"commentCount":0,"publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"image":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","inLanguage":"es-ES","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lean-app.com\/tdee-calculator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lean-app.com\/tdee-calculator\/","url":"https:\/\/lean-app.com\/tdee-calculator\/","name":"Aplicaci\u00f3n calculadora de TDEE con pasos: gratis y precisa (2026) - Lean","isPartOf":{"@id":"https:\/\/lean-app.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage"},"image":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","datePublished":"2025-07-30T12:13:15+00:00","dateModified":"2026-09-05T09:34:02+00:00","description":"La calculadora TDEE que cuenta tus pasos: BMR sobre grasa corporal real, NEAT desde el n\u00famero de pasos, entrenamientos (EAT) y TEF. Calor\u00edas de mantenimiento precisas, gratis.","breadcrumb":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/#breadcrumb"},"inLanguage":"es-ES","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/tdee-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/lean-app.com\/tdee-calculator\/#primaryimage","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png"},{"@type":"BreadcrumbList","@id":"https:\/\/lean-app.com\/tdee-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lean-app.com\/"},{"@type":"ListItem","position":2,"name":"TDEE calculator"}]},{"@type":"WebSite","@id":"https:\/\/lean-app.com\/#website","url":"https:\/\/lean-app.com\/","name":"Lean","description":"Descarga, prueba GRATIS la aplicaci\u00f3n y toma el control de tu cuerpo DE POR VIDA.","publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lean-app.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-ES"},{"@type":"Organization","@id":"https:\/\/lean-app.com\/#organization","name":"Lean","url":"https:\/\/lean-app.com\/","logo":{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","width":1672,"height":1484,"caption":"Lean"},"image":{"@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr","https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646","https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite","https:\/\/app.dealroom.co\/companies\/lean_calorie_tracker","https:\/\/alternativeto.net\/software\/lean-calorie-tracker\/"]}]}},"_links":{"self":[{"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/es\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}