{"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\/no\/tdee-calculator\/","title":{"rendered":"TDEE-kalkulator"},"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>TDEE-kalkulator<\/h1>\n\t\t\t<p>Definer m\u00e5let ditt og visualiser fremgangen din.<\/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 Enheter<\/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>Metrisk (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 Opplysningene dine<\/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\">Kj\u00f8nn<\/label>\n\t\t\t\t\t\t<select id=\"gender\">\n\t\t\t\t\t\t\t<option value=\"male\">Mann<\/option>\n\t\t\t\t\t\t\t<option value=\"female\">Kvinne<\/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\">Alder<\/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\">Vekt <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\">H\u00f8yde <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\">Fettprosent <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>Trenger du \u00e5 m\u00e5le fettprosenten din presist? <br>Last ned <strong>Lean<\/strong> og bruk AI BodyScan!<\/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 Aktiviteten din<\/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\">Skritt per dag<\/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\">Type idrett<\/label>\n\t\t\t\t\t\t<select id=\"activityType\">\n\t\t\t\t\t\t\t<option value=\"none\" selected>Ingen<\/option>\n\t\t\t\t\t\t\t<option value=\"cardio\">Kondisjon (gange, l\u00f8ping&#8230;)<\/option>\n\t\t\t\t\t\t\t<option value=\"strength\">Styrketrening<\/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 M\u00e5let ditt<\/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\">Jeg vil&#8230;<\/label>\n\t\t\t\t\t\t<select id=\"goal\">\n\t\t\t\t\t\t\t<option value=\"deficit\">G\u00e5 ned i vekt<\/option>\n\t\t\t\t\t\t\t<option value=\"maintenance\" selected>Holde vekten<\/option>\n\t\t\t\t\t\t\t<option value=\"surplus\">G\u00e5 opp i vekt<\/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\">Intensitet (<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\">Beregn &#038; projiser<\/button>\n\t\t\t<p id=\"error-message\"><\/p>\n\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"no\"\/><\/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>Vedlikeholdskalorier (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\/dag<\/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>Kalorim\u00e5let ditt<\/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\/dag<\/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\">Dette tallet er et anslag. Lean m\u00e5ler det.<\/p>\n\t\t\t\t\t<p style=\"margin:0 0 .9rem;font-size:.92em;color:#4D4D52;line-height:1.5\">BMR-en din p\u00e5 reell fettprosent via AI BodyScan, NEAT fra de faktiske skrittene dine, EAT per \u00f8kt, TEF fra makroene dine. Beregnet p\u00e5 nytt hver dag.<\/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>Vektprognose over 90 dager<\/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>Om 30 dager<\/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>Om 60 dager<\/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>Om 90 dager<\/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>Oppdeling av vedlikeholdet<\/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>Last ned Lean for \u00e5 f\u00f8lge den daglige TDEE-en din og spore kaloriene dine effektivt.<\/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>Fordeling av makron\u00e6ringsstoffer<\/h2>\n\t\t\t\t<p class=\"macros-subtitle\">Basert p\u00e5 kalorim\u00e5let ditt<\/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 % K<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Protein<\/span> <span id=\"lc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fett<\/span> <span id=\"lc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Karbohydrater<\/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>Moderate karbohydrater<\/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 % K<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Protein<\/span> <span id=\"mc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fett<\/span> <span id=\"mc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Karbohydrater<\/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 % K<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Protein<\/span> <span id=\"hc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fett<\/span> <span id=\"hc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Karbohydrater<\/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>Kroppsstatistikk<\/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>Idealvekt<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Basert p\u00e5 popul\u00e6re formler er dette det sunne vektintervallet for h\u00f8yden din. Det er en generell veiledning som ikke tar hensyn til individuell kroppssammensetning.<\/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\">Sunt vektintervall<\/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>BMI-score<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Kroppsmasseindeks (BMI) er en enkel indikator p\u00e5 vekt i forhold til h\u00f8yde. Den skiller ikke mellom fett og muskel, s\u00e5 den kan v\u00e6re mindre n\u00f8yaktig for atletiske personer.<\/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\">I\/T<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>&lt; 18.5<\/span> <span>Undervekt<\/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>Overvekt<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>&gt; 30.0<\/span> <span>Fedme<\/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>Muskelpotensial<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Dette ansl\u00e5r den maksimale naturlige fettfrie massen din basert p\u00e5 h\u00f8yden din. Verdiene nedenfor viser den totale kroppsvekten du ville hatt ved den maksimale muskelmassen med ulike fettprosentniv\u00e5er.<\/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\">Maksimal fettfri masse<\/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>Verkt\u00f8y for kalorisporing<\/h2>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>1. Matvaredatabase<\/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>Brukervennlighet<\/span><span class=\"rating rating-medium\">Middels<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Tilgjengelighet<\/span><span class=\"rating rating-good\">God<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>N\u00f8yaktighet<\/span><span class=\"rating rating-very-good\">Sv\u00e6rt god<\/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. Strekkodeskanning<\/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>Brukervennlighet<\/span><span class=\"rating rating-good\">God<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Tilgjengelighet<\/span><span class=\"rating rating-medium\">Middels<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>N\u00f8yaktighet<\/span><span class=\"rating rating-very-good\">Sv\u00e6rt god<\/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. AI-matskanning<\/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>Brukervennlighet<\/span><span class=\"rating rating-very-good\">Sv\u00e6rt god<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Tilgjengelighet<\/span><span class=\"rating rating-very-good\">Sv\u00e6rt god<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>N\u00f8yaktighet<\/span><span class=\"rating rating-medium\">Middels<\/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>Det beste verkt\u00f8yet for \u00e5 spore kaloriene dine? <br>Last ned <strong>Lean<\/strong> og kombiner disse tre metodene etter situasjonen.<\/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>TDEE-kalkulator-app: ta denne kalkulatoren med deg<\/h2>\n\t\t<p>Hvis du s\u00f8kte etter en <strong>TDEE-kalkulator-app<\/strong> i stedet for et engangsverkt\u00f8y p\u00e5 nettet, er denne siden nettversjonen av n\u00f8yaktig det: <strong>Lean<\/strong>, en TDEE-kalkulator-app for iPhone og Android. Forskjellen synes etter dag \u00e9n. I stedet for \u00e5 bruke det gjennomsnittlige skrittantallet du skrev inn \u00e9n gang, leser appen de reelle skrittene dine fra Apple Helse eller Google Fit og beregner TDEE-en din p\u00e5 nytt hver eneste dag.<\/p>\n\t\t<p>Appen g\u00e5r ogs\u00e5 lenger enn noen statisk kalkulator kan: den m\u00e5ler fettprosenten din fra ett enkelt foto med en AI BodyScan, beregner BMR-en din p\u00e5 den reelle fettfrie massen din med en patentert propriet\u00e6r modell, og modellerer metabolsk tilpasning, nedbremsingen som uker med diett p\u00e5f\u00f8rer stoffskiftet ditt. Forbrenne 2 600 kcal p\u00e5 en dag med 15 000 skritt og 2 100 kcal p\u00e5 en kontordag? Appen ser forskjellen; et fast tall gj\u00f8r det ikke.<\/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>Sammenligner du fortsatt trackere? Les guiden v\u00e5r til de beste <a href=\"\/en\/alternative-myfitnesspal\/\">Alternativer til MyFitnessPal<\/a>.<\/p>\n\t<\/section>\n\n\t<section id=\"seo-article-section\" class=\"calculator-container\">\n\t\t<h2>Forst\u00e5 TDEE-en din: den ultimate guiden<\/h2>\n\t\t<p>\u00c5 navigere i treningens og ern\u00e6ringens verden kan v\u00e6re komplekst, men \u00e5 forst\u00e5 det totale daglige energiforbruket ditt (TDEE) er det viktigste f\u00f8rste trinnet. En <strong>TDEE-kalkulator<\/strong> er et kraftig verkt\u00f8y som avmystifiserer denne prosessen, og gir et tydelig, vitenskapelig forankret utgangspunkt for ethvert vektm\u00e5l. Denne guiden tar deg gjennom alt du trenger \u00e5 vite om TDEE og hvordan du bruker denne kalkulatoren effektivt.<\/p>\n\n\t\t<h3>Hva er TDEE?<\/h3>\n\t\t<p>TDEE st\u00e5r for Total Daily Energy Expenditure. Det representerer det totale antallet kalorier kroppen din forbrenner i l\u00f8pet av 24 timer. Det handler ikke bare om trening; det er et omfattende m\u00e5l som inkluderer alle kroppsfunksjoner, fra pusting og tenkning til gange og trening. \u00c5 kjenne TDEE-en din betyr \u00e5 vite n\u00f8yaktig hvor mange kalorier kroppen din trenger for \u00e5 opprettholde sin n\u00e5v\u00e6rende vekt. Dette tallet er grunnmuren alle effektive kostholdsplaner bygger p\u00e5.<\/p>\n\n\t\t<h3>De fire komponentene i TDEE-en din<\/h3>\n\t\t<p>TDEE-en din er ikke ett enkelt tall, men en sum av fire n\u00f8kkelkomponenter:<\/p>\n\t\t<ul>\n\t\t\t<li><strong>Basalmetabolisme (BMR):<\/strong> Dette er energien kroppen din bruker i fullstendig hvile for \u00e5 utf\u00f8re vitale funksjoner som \u00e5 puste, sirkulere blod og regulere kroppstemperaturen. Det er den st\u00f8rste delen av TDEE-en din. Verkt\u00f8yet v\u00e5rt bruker den n\u00f8yaktige Katch-McArdle-formelen, som krever fettprosent, noe som gj\u00f8r den til en mer presis <strong>BMR-kalkulator<\/strong> enn de som bare bygger p\u00e5 vekt og h\u00f8yde.<\/li>\n\t\t\t<li><strong>Non-Exercise Activity Thermogenesis (NEAT):<\/strong> Dette inkluderer alle kaloriene forbrent fra aktiviteter som ikke er formell trening, som \u00e5 g\u00e5 til bilen, skrive p\u00e5 tastatur, fidgeting eller husarbeid. Daglige skritt er en flott m\u00e5te \u00e5 m\u00e5le og \u00f8ke NEAT-en din p\u00e5.<\/li>\n\t\t\t<li><strong>Exercise Activity Thermogenesis (EAT):<\/strong> Dette er energien brukt under planlagte fysiske aktiviteter som l\u00f8ping, vektl\u00f8fting eller idrett.<\/li>\n\t\t\t<li><strong>Thermic Effect of Food (TEF):<\/strong> Kroppen din bruker energi p\u00e5 \u00e5 ford\u00f8ye, absorbere og metabolisere maten du spiser. Dette utgj\u00f8r omtrent 10 % av det daglige kaloriinntaket ditt.<\/li>\n\t\t<\/ul>\n\n\t\t<h3>Slik bruker du en TDEE-kalkulator for \u00e5 g\u00e5 ned i vekt<\/h3>\n\t\t<p>For \u00e5 g\u00e5 ned i vekt m\u00e5 du v\u00e6re i kaloriunderskudd. Det betyr \u00e5 innta f\u00e6rre kalorier enn TDEE-en din. En <strong>kalkulator for kaloriunderskudd<\/strong> er i hovedsak en TDEE-kalkulator brukt til nettopp dette form\u00e5let. N\u00e5r du kjenner vedlikeholds-TDEE-en din, kan du skape et b\u00e6rekraftig underskudd. For eksempel f\u00f8rer et underskudd p\u00e5 500 kalorier per dag typisk til et tap p\u00e5 omtrent 0,45 kg (1 pund) per uke. V\u00e5r <strong>TDEE-kalkulator for \u00e5 g\u00e5 ned i vekt<\/strong> lar deg sette dette underskuddet presist og projiserer fremgangen din over tid.<\/p>\n\n\t\t<h3>BMR vs TDEE: hva er forskjellen?<\/h3>\n\t\t<p>BMR og TDEE forveksles ofte. Se det slik: BMR-en din er kroppens \u00abtomgangs\u00bb-energikostnad, mens TDEE-en din er den totale kostnaden som inkluderer alle de daglige aktivitetene dine. Du b\u00f8r aldri spise under BMR-en din, for det kan p\u00e5virke stoffskiftet og helsen din negativt. TDEE-en din er det praktiske tallet du b\u00f8r bruke til \u00e5 planlegge dietten din.<\/p>\n\n\t\t<h3>Beregne makroene dine fra TDEE-en din<\/h3>\n\t\t<p>N\u00e5r du har m\u00e5lkaloriinntaket ditt fra TDEE-kalkulatoren, er neste trinn \u00e5 bestemme makron\u00e6ringsfordelingen din (protein, fett og karbohydrater). En god <strong>makrokalkulator<\/strong> bruker TDEE-en din som utgangspunkt. Verkt\u00f8yet v\u00e5rt tilbyr tre vanlige kostholdsplaner (Low Carb, Moderate Carb og High Carb) for \u00e5 hjelpe deg \u00e5 finne en balanse som passer livsstilen og preferansene dine, slik at du ikke bare treffer et kaloritall, men ogs\u00e5 n\u00e6rer kroppen din effektivt.<\/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;\">Metode og kilder<\/h2><p style=\"margin:0 0 10px;font-size:15px;\">Denne kalkulatoren bygger det totale daglige energiforbruket av fire m\u00e5lte komponenter: basalmetabolisme beregnet p\u00e5 fettprosent (fettfri masse) i stedet for bare alder og vekt, aktivitetstermogenese utenom trening utledet av daglige skritt, energiforbruk fra trening ut fra MET-verdier, og matens termiske effekt ut fra makron\u00e6ringsfordelingen. Metabolsk tilpasning h\u00e5ndteres separat som en koeffisient brukt p\u00e5 basalmetabolismen, aldri lagt til summen.<\/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>Leans forskerteam (2026). 857 655 produkter analysert: intern konsistens i kaloridata i Open Food Facts. Zenodo, DOI 10.5281\/zenodo.22284416.<\/li><\/ul><p style=\"margin:0;font-size:13px;color:#4D4D52;\">Dette verkt\u00f8yet gir anslag til informasjon og oppl\u00e6ring. Det er ikke medisinske r\u00e5d og erstatter ikke en konsultasjon med lege eller klinisk ern\u00e6ringsfysiolog, spesielt ved en medisinsk tilstand, graviditet eller en spiseforstyrrelse.<\/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;\">Les videre<\/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;\">BMR-kalkulator: Harris-Benedict, Mifflin-St Jeor og Lean-modellen sammenlignet <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Hvorfor formlene fra 1919 bommer p\u00e5 den reelle basalmetabolismen din, og hva fettprosenten endrer.<\/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;\">NEAT-kalkulator: hvor mange kalorier skrittene dine egentlig forbrenner <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Delen av forbruket ditt utenom trening, fra det daglige skrittantallet ditt.<\/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;\">Kalkulator for kaloriunderskudd: riktig tiln\u00e6rming for en deff <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Et underskudd bygget p\u00e5 din reelle TDEE, tre tempoer fra langsomt til aggressivt.<\/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;\">Fettprosentkalkulator: din reelle fettprosent (US Navy-metoden) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Inndataen som gj\u00f8r et TDEE-anslag n\u00f8yaktig.<\/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;\">Alle Lean-kalkulatorer: forbruk og behov, komponent for komponent <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">TDEE, BMR, NEAT, fettprosent, protein, makroer, metabolsk tilpasning.<\/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>TDEE-kalkulator med skritt: presist daglig forbruk - Lean<\/title>\n<meta name=\"description\" content=\"TDEE-kalkulatoren som teller skrittene dine: BMR p\u00e5 reell fettprosent, NEAT fra skrittantall, trenings\u00f8kter (EAT) og TEF. Presise vedlikeholdskalorier, 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\/no\/tdee-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TDEE-kalkulator med skritt: presist daglig forbruk - Lean\" \/>\n<meta property=\"og:description\" content=\"TDEE-kalkulatoren som teller skrittene dine: BMR p\u00e5 reell fettprosent, NEAT fra skrittantall, trenings\u00f8kter (EAT) og TEF. Presise vedlikeholdskalorier, gratis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/no\/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\":\"nb-NO\",\"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 With Steps: Accurate Daily Burn - 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\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/tdee-calculator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@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\":\"nb-NO\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lean-app.com\/#organization\",\"name\":\"Lean\",\"url\":\"https:\/\/lean-app.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@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":"TDEE-kalkulator med skritt: presist daglig forbruk - Lean","description":"TDEE-kalkulatoren som teller skrittene dine: BMR p\u00e5 reell fettprosent, NEAT fra skrittantall, trenings\u00f8kter (EAT) og TEF. Presise vedlikeholdskalorier, 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\/no\/tdee-calculator\/","og_locale":"nb_NO","og_type":"article","og_title":"TDEE-kalkulator med skritt: presist daglig forbruk - Lean","og_description":"TDEE-kalkulatoren som teller skrittene dine: BMR p\u00e5 reell fettprosent, NEAT fra skrittantall, trenings\u00f8kter (EAT) og TEF. Presise vedlikeholdskalorier, gratis.","og_url":"https:\/\/lean-app.com\/no\/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":"nb-NO","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-kalkulator med skritt: presist daglig forbruk - 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":"TDEE-kalkulatoren som teller skrittene dine: BMR p\u00e5 reell fettprosent, NEAT fra skrittantall, trenings\u00f8kter (EAT) og TEF. Presise vedlikeholdskalorier, gratis.","breadcrumb":{"@id":"https:\/\/lean-app.com\/tdee-calculator\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/tdee-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"nb-NO","@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":"Last ned, pr\u00f8v appen GRATIS og ta kontroll over kroppen din FOR ALLTID.","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":"nb-NO"},{"@type":"Organization","@id":"https:\/\/lean-app.com\/#organization","name":"Lean","url":"https:\/\/lean-app.com\/","logo":{"@type":"ImageObject","inLanguage":"nb-NO","@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\/no\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}