{"id":1965,"date":"2026-08-25T13:40:25","date_gmt":"2026-08-25T13:40:25","guid":{"rendered":"https:\/\/lean-app.com\/calculateur-macros\/"},"modified":"2026-09-05T10:38:59","modified_gmt":"2026-09-05T10:38:59","slug":"calculateur-macros","status":"publish","type":"post","link":"https:\/\/lean-app.com\/no\/calculateur-macros\/","title":{"rendered":"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides"},"content":{"rendered":"<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp\" fetchpriority=\"low\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp\" fetchpriority=\"low\">\n<style id=\"lvm-shell-styles\">#lvm-shell{\n  --bg:#FFFFFF; --paper:#F7F6F2; --paper-2:#F1EFE7;\n  --ink:#0E0E10; --ink-2:#1D1D1F; --muted:#6E6E73; --dim:#86868B;\n  --rule:#E8E6DF; --rule-soft:#EFEDE5;\n  --pink:#FF2D6E; --pink-soft:rgba(255,45,110,0.06);\n  --mfp:#A8A192;\n  --green:#0F8F5C; --red:#D02E2E; --amber:#C8A019;\n  --font-display:-apple-system,\"SF Pro Display\",system-ui,\"Helvetica Neue\",sans-serif;\n  --font-text:-apple-system,\"SF Pro Text\",system-ui,sans-serif;\n  --font-mono:ui-monospace,\"SF Mono\",Menlo,Consolas,monospace;\n}\n#lvm-shell *{box-sizing:border-box;-webkit-text-size-adjust:100%}\n#lvm-shell, #lvm-shell{margin:0;padding:0;background:var(--bg);color:var(--ink-2);font-family:var(--font-text);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}\n#lvm-shell ::selection{background:rgba(255,45,110,0.18);color:var(--ink)}\n#lvm-shell img{max-width:100%;display:block}\n#lvm-shell a{color:inherit}\n\n#lvm-shell .progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:1000}\n#lvm-shell .progress > i{display:block;height:100%;width:100%;background:var(--pink);transform-origin:0 50%;transform:scaleX(0);transition:transform .05s linear}\n\n#lvm-shell .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--rule)}\n#lvm-shell .nav-row{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 22px}\n#lvm-shell .nav-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}\n#lvm-shell .nav-brand img{width:28px;height:28px;border-radius:7px;object-fit:cover}\n#lvm-shell .nav-brand span{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em}\n#lvm-shell .nav-spacer{flex:1}\n#lvm-shell .nav-link{color:var(--muted);text-decoration:none;font-size:14px}\n#lvm-shell .nav-link:hover{color:var(--ink)}\n#lvm-shell .nav-stores{display:flex;gap:6px;align-items:center}\n#lvm-shell .nav-stores a{display:block;line-height:0}\n#lvm-shell .nav-stores img{height:28px;width:auto;border-radius:5px;transition:transform .15s}\n#lvm-shell .nav-stores a:hover img{transform:translateY(-1px)}\n\n#lvm-shell .wrap{max-width:760px;margin:0 auto;padding:0 28px}\n\n#lvm-shell .hero{padding:54px 0 0}\n#lvm-shell .crumb{font-size:13px;color:var(--muted);margin-bottom:18px}\n#lvm-shell .crumb a{text-decoration:none;color:var(--muted)}\n#lvm-shell .crumb a:hover{color:var(--ink)}\n#lvm-shell .eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--pink);margin-bottom:18px}\n#lvm-shell h1{font-family:var(--font-display);font-weight:600;font-size:72px;line-height:1.0;letter-spacing:-.04em;color:var(--ink);margin:0 0 22px}\n#lvm-shell h1 .alt{display:block;font-weight:500;color:var(--muted);font-size:.66em;line-height:1.15;margin-top:14px;letter-spacing:-.03em}\n#lvm-shell .dek{font-family:var(--font-display);font-size:24px;line-height:1.4;font-weight:400;color:var(--ink-2);letter-spacing:-.015em;margin:0 0 22px;max-width:680px}\n\n#lvm-shell .byline{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin-bottom:14px}\n#lvm-shell .byline .by-logo{width:26px;height:26px;border-radius:6px;object-fit:cover;flex-shrink:0;background:transparent;border:0}\n#lvm-shell .byline strong{color:var(--ink);font-weight:600;font-family:var(--font-display)}\n\n#lvm-shell .hero-stores{display:flex;gap:10px;margin:22px 0 18px;flex-wrap:wrap;align-items:center}\n#lvm-shell .hero-stores a{display:block;line-height:0;transition:transform .15s}\n#lvm-shell .hero-stores a:hover{transform:translateY(-2px)}\n#lvm-shell .hero-stores img{height:46px;width:auto;border-radius:9px}\n#lvm-shell .hero-stores .or{font-size:13px;color:var(--muted)}\n\n#lvm-shell .hero-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin:38px 0 60px;padding-top:28px;border-top:1px solid var(--rule-soft)}\n#lvm-shell .hero-lead{font-family:var(--font-display);font-size:21px;line-height:1.5;color:var(--ink-2);font-weight:400}\n\n#lvm-shell .phone-wrap{display:flex;justify-content:center}\n#lvm-shell .phone{\n  position:relative;\n  width:280px;\n  background:linear-gradient(145deg,#2a2a2a,#0e0e0e);\n  border-radius:42px;\n  padding:5px;\n  border:1.5px solid rgba(255,255,255,.07);\n  box-shadow:0 30px 60px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08);\n}\n#lvm-shell .phone .notch{\n  position:absolute;top:0;left:50%;transform:translateX(-50%);\n  width:96px;height:24px;background:#0a0a0a;border-radius:0 0 16px 16px;z-index:10;\n}\n#lvm-shell .phone-screen{\n  position:relative;\n  border-radius:34px;overflow:hidden;\n  background:#FAF0E6;\n  aspect-ratio:9\/19.5;\n}\n#lvm-shell .phone-screen img{\n  width:100%;height:100%;object-fit:cover;display:block;\n  transition:opacity .28s ease;\n}\n#lvm-shell .phone-zones{position:absolute;inset:0;z-index:15;pointer-events:none}\n#lvm-shell .phone-zones .z{position:absolute;left:4%;right:4%;cursor:pointer;background:transparent;border:0;padding:0;pointer-events:auto}\n#lvm-shell .phone-zones .z:focus-visible{outline:2px solid var(--pink);outline-offset:-4px;border-radius:6px}\n#lvm-shell .phone-navbar{position:absolute;left:0;right:0;bottom:0;height:9%;z-index:16;display:grid;grid-template-columns:repeat(4,1fr)}\n#lvm-shell .phone-navbar button{background:transparent;border:0;padding:0;cursor:pointer}\n#lvm-shell .phone-navbar button:focus-visible{outline:2px solid var(--pink);outline-offset:-3px;border-radius:6px}\n#lvm-shell .phone-back{\n  position:absolute;top:10px;left:10px;z-index:20;\n  width:30px;height:30px;border-radius:50%;\n  border:0;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);\n  color:var(--ink);font-size:18px;font-weight:600;line-height:1;cursor:pointer;\n  display:none;align-items:center;justify-content:center;\n  box-shadow:0 2px 6px rgba(0,0,0,.12);\n}\n#lvm-shell .phone-back.on{display:flex}\n\n#lvm-shell .phone-cap{margin-top:14px;text-align:center;font-size:12px;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}\n#lvm-shell .phone-stage{position:relative}\n#lvm-shell .tap-hint{position:absolute;z-index:30;pointer-events:none;animation:hintFloat 2.6s ease-in-out infinite}\n#lvm-shell .tap-hint .th-pill{display:inline-block;font-family:var(--font-display);font-size:15px;font-weight:600;color:#fff;line-height:1.25;letter-spacing:-.005em;background:var(--pink);padding:10px 16px;border-radius:14px;box-shadow:0 14px 32px rgba(255,45,110,.32);white-space:nowrap}\n#lvm-shell .tap-hint .th-pill small{display:block;font-size:11px;font-weight:500;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}\n#lvm-shell .tap-hint .th-arrow{position:absolute;color:var(--pink)}\n#lvm-shell .tap-hint.desktop{left:-204px;top:4px;text-align:right}\n#lvm-shell .tap-hint.desktop .th-arrow{right:-86px;top:58px;width:104px;height:34px;transform:none}\n#lvm-shell .tap-hint.mobile{display:none}\n#lvm-shell .tap-hint.hidden{opacity:0;transform:translateY(-6px);transition:opacity .35s ease, transform .35s ease;animation:none}\n@keyframes hintFloat{\n  0%, 100%{transform:translateY(0)}\n  50%{transform:translateY(-7px)}\n}\n@media (prefers-reduced-motion:reduce){#lvm-shell .tap-hint{animation:none}}\n#lvm-shell .phone-tabs{display:flex;justify-content:center;gap:8px;margin-top:10px;flex-wrap:nowrap}\n#lvm-shell .phone-tabs button{\n  background:transparent;border:1px solid var(--rule);color:var(--muted);\n  padding:6px 11px;border-radius:999px;font-size:11px;cursor:pointer;\n  font-family:var(--font-text);transition:all .15s;white-space:nowrap;\n}\n#lvm-shell .phone-tabs button:hover{color:var(--ink);border-color:var(--ink)}\n#lvm-shell .phone-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}\n\n#lvm-shell .snippet{background:var(--paper);border-radius:18px;padding:30px 32px;margin:48px 0 0;border:1px solid var(--rule-soft)}\n#lvm-shell .snippet .lbl{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}\n#lvm-shell .snippet p{margin:0;font-family:var(--font-display);font-size:21px;line-height:1.45;color:var(--ink);font-weight:500;letter-spacing:-.012em}\n\n#lvm-shell section{padding:64px 0;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell section:last-of-type{border-bottom:0}\n#lvm-shell .section-label{display:flex;align-items:center;gap:14px;margin-bottom:30px}\n#lvm-shell .section-label .bar{width:24px;height:1px;background:var(--pink)}\n#lvm-shell .section-label .num{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--pink)}\n#lvm-shell h2{font-family:var(--font-display);font-weight:600;font-size:48px;line-height:1.05;letter-spacing:-.035em;color:var(--ink);margin:0 0 24px}\n#lvm-shell h3{font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1.15;letter-spacing:-.025em;color:var(--ink);margin:36px 0 16px}\n#lvm-shell h4{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.015em;color:var(--ink);margin:24px 0 10px}\n#lvm-shell p{margin:0 0 22px;color:var(--ink-2)}\n#lvm-shell strong{color:var(--ink);font-weight:600}\n#lvm-shell ul, #lvm-shell ol{margin:0 0 22px;padding-left:22px;color:var(--ink-2)}\n#lvm-shell li{margin-bottom:8px}\n#lvm-shell a.inline{color:var(--pink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}\n#lvm-shell a.inline:hover{text-decoration-thickness:2px}\n\n#lvm-shell .statement{margin:48px 0;padding:32px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left}\n#lvm-shell .statement .num{font-family:var(--font-display);font-size:60px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--pink);margin-bottom:14px}\n#lvm-shell .statement .lbl{font-family:var(--font-display);font-size:23px;line-height:1.35;font-weight:500;color:var(--ink);letter-spacing:-.012em}\n\n#lvm-shell .fig{margin:32px 0 18px;background:#fff;border:1px solid var(--rule);border-radius:20px;padding:28px 22px 20px;position:relative;overflow:hidden}\n#lvm-shell .fig-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}\n#lvm-shell .fig-head .l{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}\n#lvm-shell .fig-head .r{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.08em}\n#lvm-shell .fig-body{position:relative}\n#lvm-shell .fig-cap{margin:18px 4px 0;font-size:14px;color:var(--muted);line-height:1.5}\n#lvm-shell .fig-cap strong{color:var(--ink);font-weight:600}\n#lvm-shell .cv-wrap{position:relative;height:360px}\n\n#lvm-shell [data-term]{position:relative;cursor:help;border-bottom:1px dotted var(--dim)}\n#lvm-shell [data-term]:hover{color:var(--ink)}\n#lvm-shell .tt{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);min-width:200px;max-width:300px;background:#0c0c0c;color:#fff;font-size:13px;line-height:1.45;padding:11px 14px;border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.32);opacity:0;visibility:hidden;transition:opacity .15s, visibility .15s;z-index:120;pointer-events:none;font-weight:400;font-family:var(--font-text)}\n#lvm-shell .tt::after{content:\"\";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0c0c0c}\n#lvm-shell [data-term]:hover .tt, #lvm-shell [data-term]:focus .tt{opacity:1;visibility:visible}\n\n#lvm-shell .table{margin:24px 0;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:#fff}\n#lvm-shell .table-row{display:grid;grid-template-columns:1.55fr 1fr 1fr;border-bottom:1px solid var(--rule-soft);min-height:60px}\n#lvm-shell .table-row:last-child{border-bottom:0}\n#lvm-shell .table-row.head{background:var(--ink);color:#fff;border-bottom:0}\n#lvm-shell .table-row.head > div{padding:18px 18px;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.07em}\n#lvm-shell .table-row.head .brand-cell{justify-content:flex-start}\n#lvm-shell .table-row.head .brand-cell img{width:24px;height:24px;border-radius:6px;background:#fff;object-fit:cover}\n#lvm-shell .table-row.head .brand-cell.lean{color:#FFB8CE}\n#lvm-shell .table-row > .crit{padding:16px 18px;font-size:14px;color:var(--ink);font-weight:500;display:flex;align-items:center;border-right:1px solid var(--rule-soft)}\n#lvm-shell .table-row > .cell{padding:16px 14px;font-size:13px;line-height:1.45;color:var(--ink-2);display:flex;align-items:center;gap:10px;border-right:1px solid var(--rule-soft)}\n#lvm-shell .table-row > .cell:last-child{border-right:0}\n#lvm-shell .table-row > .cell.lean{background:var(--pink-soft);position:relative}\n#lvm-shell .table-row > .cell.lean::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--pink)}\n#lvm-shell .icn{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:600;color:#fff}\n#lvm-shell .icn.ok{background:var(--green)}\n#lvm-shell .icn.no{background:var(--red)}\n#lvm-shell .icn.mid{background:var(--amber)}\n#lvm-shell .icn svg{width:11px;height:11px}\n\n#lvm-shell .mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0}\n#lvm-shell .mini-phone{position:relative;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);border-radius:22px;padding:3px;border:1px solid rgba(255,255,255,.05);box-shadow:0 14px 32px rgba(0,0,0,.16);max-width:160px;margin:0 auto;width:100%}\n#lvm-shell .mini-phone .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5}\n#lvm-shell .mini-phone .scr{border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5}\n#lvm-shell .mini-phone .scr img{width:100%;height:100%;object-fit:cover}\n#lvm-shell .mini-phone.tiny{max-width:148px;padding:2px;border-radius:20px;border-width:1px}\n#lvm-shell .mini-phone.tiny .notch{width:30px;height:8px;border-radius:0 0 5px 5px}\n#lvm-shell .mini-phone.tiny .scr{border-radius:17px}\n#lvm-shell .mini-cap{text-align:center;margin-top:12px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}\n#lvm-shell .mini-cap strong{display:block;color:var(--ink);margin-top:4px;font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:-.01em;text-transform:none}\n\n#lvm-shell .duo-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:18px 0 0}\n#lvm-shell .duo-row .mini-phone{max-width:180px}\n\n#lvm-shell .method{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;margin:42px 0}\n#lvm-shell .method.flip{grid-template-columns:1.4fr 1fr}\n#lvm-shell .method.flip .m-phone{order:2}\n#lvm-shell .method .m-tag{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);margin-bottom:8px}\n#lvm-shell .method h3{margin-top:0}\n#lvm-shell .method p{font-size:16px;color:var(--muted);line-height:1.7}\n\n#lvm-shell .cta-band{margin:40px 0;padding:26px 28px;background:var(--paper);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--rule-soft)}\n#lvm-shell .cta-band .l{font-family:var(--font-display);font-size:18px;line-height:1.35;font-weight:500;color:var(--ink);flex:1;min-width:240px;letter-spacing:-.01em}\n#lvm-shell .cta-band .stores{display:flex;gap:10px;align-items:center}\n#lvm-shell .cta-band .stores a{line-height:0;transition:transform .15s}\n#lvm-shell .cta-band .stores a:hover{transform:translateY(-2px)}\n#lvm-shell .cta-band .stores img{height:42px;width:auto;border-radius:9px}\n\n#lvm-shell .pyramid{margin:30px auto;max-width:440px}\n#lvm-shell .pyramid .level{margin:6px auto;padding:13px 18px;border-radius:14px;color:#fff;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 18px rgba(0,0,0,.06)}\n#lvm-shell .pyramid .level .k{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}\n#lvm-shell .pyramid .l1{background:#0E0E10;width:100%}\n#lvm-shell .pyramid .l2{background:#1D1D1F;width:84%}\n#lvm-shell .pyramid .l3{background:#3a3a3c;width:68%}\n#lvm-shell .pyramid .l4{background:var(--pink);width:52%}\n#lvm-shell .pyramid-cap{text-align:center;font-size:13px;color:var(--muted);margin-top:14px}\n\n\/* Section 7 honnetete : scorecard horizontal bars *\/\n#lvm-shell .scorecard{margin:30px 0 10px;border:1px solid var(--rule);border-radius:20px;padding:28px 26px;background:#fff}\n#lvm-shell .scorecard-head{display:grid;grid-template-columns:1.4fr 1fr 1fr;column-gap:28px;align-items:center;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell .scorecard-head .h-crit{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}\n#lvm-shell .scorecard-head .h-brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--ink)}\n#lvm-shell .scorecard-head .h-brand img{width:22px;height:22px;border-radius:5px;object-fit:cover}\n#lvm-shell .scorecard-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;column-gap:28px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule-soft)}\n#lvm-shell .scorecard-row:last-child{border-bottom:0}\n#lvm-shell .scorecard-row .crit{font-size:14px;color:var(--ink);font-weight:500;padding-right:14px}\n#lvm-shell .scorecard-row .bar{display:flex;flex-direction:row-reverse;align-items:center;gap:10px}\n#lvm-shell .scorecard-row .bar .b{flex:1;height:8px;border-radius:99px;background:var(--rule-soft);overflow:hidden;position:relative}\n#lvm-shell .scorecard-row .bar .b > i{display:block;height:100%;border-radius:99px;transition:width 1s cubic-bezier(.22,.61,.36,1)}\n#lvm-shell .scorecard-row .bar.lean .b > i{background:var(--pink)}\n#lvm-shell .scorecard-row .bar.mfp .b > i{background:var(--mfp)}\n#lvm-shell .scorecard-row .bar .v{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink);min-width:32px;text-align:left}\n\n\/* Section 8 pour qui : persona checklist *\/\n#lvm-shell .persona{margin:28px 0 10px;display:grid;grid-template-columns:1fr;gap:14px}\n#lvm-shell .persona-it{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px 24px;background:#fff;border:1px solid var(--rule);border-radius:18px;align-items:center}\n#lvm-shell .persona-it.match{background:var(--pink-soft);border-color:rgba(255,45,110,.25)}\n#lvm-shell .persona-it .pic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rule-soft);position:relative;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink)}\n#lvm-shell .persona-it.match .pic{background:var(--pink);color:#fff}\n#lvm-shell .persona-it .pic svg{width:24px;height:24px}\n#lvm-shell .persona-it h4{margin:0 0 4px;font-size:17px;letter-spacing:-.01em}\n#lvm-shell .persona-it p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}\n#lvm-shell .persona-it.match h4{color:var(--ink)}\n\n\/* Section 9 migration : timeline steps *\/\n#lvm-shell .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:28px 0;position:relative}\n#lvm-shell .steps::before{content:\"\";position:absolute;top:14px;left:7px;right:calc(20% - 18px);height:1px;background:linear-gradient(90deg,var(--pink) 0%,var(--rule-soft) 100%);z-index:0}\n#lvm-shell .step{position:relative;padding-top:24px;z-index:1}\n#lvm-shell .step::before{content:\"\";position:absolute;top:8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--pink);border:3px solid #fff;box-shadow:0 0 0 1px var(--rule)}\n#lvm-shell .step .sn{font-family:var(--font-mono);font-size:11px;color:var(--pink);font-weight:600;letter-spacing:.08em}\n#lvm-shell .step h4{margin:6px 0 6px;font-size:15px;letter-spacing:-.01em}\n#lvm-shell .step p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}\n\n\/* Section 10 debloque : feature stack numbered XL *\/\n#lvm-shell .feat-stack{margin:30px 0 10px;border-top:1px solid var(--rule)}\n#lvm-shell .feat-it{display:grid;grid-template-columns:auto 1fr auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:center}\n#lvm-shell .feat-it .fn{font-family:var(--font-display);font-size:48px;font-weight:600;color:var(--pink);line-height:1;letter-spacing:-.04em;width:74px}\n#lvm-shell .feat-it .ft{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.25;margin-bottom:6px}\n#lvm-shell .feat-it .fd{font-size:15px;color:var(--muted);line-height:1.55;margin:0}\n#lvm-shell .feat-it .fc{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}\n#lvm-shell .feat-it:last-child{border-bottom:0}\n\n#lvm-shell .faq{margin:22px 0}\n#lvm-shell .faq details{border-bottom:1px solid var(--rule);padding:20px 0}\n#lvm-shell .faq details:first-of-type{border-top:1px solid var(--rule)}\n#lvm-shell .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.015em;color:var(--ink)}\n#lvm-shell .faq summary::-webkit-details-marker{display:none}\n#lvm-shell .faq summary::after{content:\"+\";font-size:24px;color:var(--muted);font-weight:300;line-height:1;transition:transform .25s, color .25s}\n#lvm-shell .faq details[open] summary::after{transform:rotate(45deg);color:var(--pink)}\n#lvm-shell .faq details[open] summary{color:var(--pink)}\n#lvm-shell .faq .ans{margin-top:14px;font-size:16px;color:var(--muted);line-height:1.65}\n\n#lvm-shell .get-band{background:var(--paper-2);border-radius:24px;padding:48px 36px;margin:60px 0 40px;text-align:center}\n#lvm-shell .get-band .kicker{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--pink);font-weight:600;letter-spacing:.1em;margin-bottom:14px}\n#lvm-shell .get-band h3{font-size:36px;margin:0 0 14px;letter-spacing:-.025em}\n#lvm-shell .get-band p{font-size:16px;color:var(--muted);max-width:480px;margin:0 auto 26px}\n#lvm-shell .get-band .stores{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}\n#lvm-shell .get-band .stores a{line-height:0;transition:transform .15s}\n#lvm-shell .get-band .stores a:hover{transform:translateY(-3px)}\n#lvm-shell .get-band .stores img{height:60px;width:auto;border-radius:11px}\n\n#lvm-shell .sources{font-size:14px;color:var(--muted);line-height:1.7}\n#lvm-shell .sources ol{padding-left:22px}\n#lvm-shell .sources li{margin-bottom:8px}\n\n#lvm-shell footer{padding:50px 0 60px;border-top:1px solid var(--rule);margin-top:40px}\n#lvm-shell footer .row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}\n#lvm-shell footer .kicker{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);font-weight:600}\n#lvm-shell footer p{font-size:13px;color:var(--muted);margin:8px 0 0}\n#lvm-shell footer .stores{display:flex;gap:8px}\n#lvm-shell footer .stores img{height:34px;width:auto;border-radius:6px}\n\n#lvm-shell .rev{opacity:0;transform:translateY(12px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}\n#lvm-shell .rev.on{opacity:1;transform:translateY(0)}\n@media (prefers-reduced-motion:reduce){#lvm-shell .rev{transition:none;opacity:1;transform:none}}\n\n@media (max-width:760px){\n  #lvm-shell .nav-row{padding:8px 18px;gap:8px}\n  #lvm-shell .nav-link{display:none}\n  #lvm-shell .nav-stores img{height:24px}\n  #lvm-shell .wrap{padding:0 22px}\n  #lvm-shell .hero{padding:34px 0 0}\n  #lvm-shell h1{font-size:46px;letter-spacing:-.035em}\n  #lvm-shell h1 .alt{font-size:.55em;margin-top:10px}\n  #lvm-shell .dek{font-size:20px}\n  #lvm-shell .hero-stores img{height:42px}\n  #lvm-shell .hero-bottom{grid-template-columns:1fr;gap:28px;margin:30px 0 40px;padding-top:24px;align-items:stretch}\n  #lvm-shell .phone-wrap{order:-1}\n  #lvm-shell .phone{width:240px}\n  #lvm-shell .tap-hint.desktop{display:none}\n  #lvm-shell .tap-hint.mobile{display:block;position:relative;left:auto;top:auto;text-align:center;margin:0 auto 10px;width:100%}\n  #lvm-shell .tap-hint.mobile .th-arrow{position:relative;display:block;margin:6px auto 0;width:34px;height:34px;transform:none;color:var(--pink)}\n  #lvm-shell .snippet{padding:24px 22px}\n  #lvm-shell .snippet p{font-size:18px}\n  #lvm-shell section{padding:48px 0}\n  #lvm-shell h2{font-size:34px;letter-spacing:-.03em}\n  #lvm-shell h3{font-size:24px}\n  #lvm-shell .section-label{margin-bottom:22px}\n  #lvm-shell .statement{padding:24px 0;margin:32px 0}\n  #lvm-shell .statement .num{font-size:44px}\n  #lvm-shell .statement .lbl{font-size:19px}\n  #lvm-shell .fig{padding:20px 14px 14px;border-radius:16px}\n  #lvm-shell .cv-wrap{height:310px}\n  #lvm-shell .method{grid-template-columns:1fr;gap:20px}\n  #lvm-shell .method.flip{grid-template-columns:1fr}\n  #lvm-shell .method.flip .m-phone{order:0}\n  #lvm-shell .mini-row{grid-template-columns:repeat(3,1fr);gap:10px}\n  #lvm-shell .mini-phone{padding:3px;border-radius:18px;border-width:1px;max-width:110px}\n  #lvm-shell .mini-phone .notch{width:42px;height:11px;border-radius:0 0 8px 8px}\n  #lvm-shell .mini-phone .scr{border-radius:15px}\n  #lvm-shell .mini-cap{font-size:10px}\n  #lvm-shell .mini-cap strong{font-size:13px}\n  #lvm-shell .duo-row{grid-template-columns:repeat(2,1fr);gap:12px}\n  #lvm-shell .duo-row .mini-phone{max-width:130px}\n  #lvm-shell .steps{grid-template-columns:1fr;gap:18px}\n  #lvm-shell .steps::before{display:none}\n  #lvm-shell .step{padding-top:0;padding-left:24px}\n  #lvm-shell .step::before{top:6px;left:0}\n  #lvm-shell .table-row{grid-template-columns:1.4fr .9fr .9fr}\n  #lvm-shell .table-row > .crit{padding:13px 12px;font-size:13px}\n  #lvm-shell .table-row > .cell{padding:13px 10px;font-size:12px;gap:8px}\n  #lvm-shell .table-row.head > div{padding:14px 12px;font-size:10px;gap:7px}\n  #lvm-shell .table-row.head .brand-cell img{width:20px;height:20px}\n  #lvm-shell .get-band{padding:36px 22px;border-radius:18px;margin:40px 0 30px}\n  #lvm-shell .get-band h3{font-size:28px}\n  #lvm-shell .get-band .stores img{height:50px}\n  #lvm-shell .cta-band{padding:22px;gap:14px}\n  #lvm-shell .cta-band .l{font-size:16px;min-width:0}\n  #lvm-shell .cta-band .stores img{height:38px}\n  #lvm-shell .faq summary{font-size:18px;gap:14px}\n  #lvm-shell .pyramid{max-width:100%}\n  #lvm-shell .pyramid .level{padding:11px 14px;font-size:14px}\n  #lvm-shell .scorecard{padding:20px 16px;border-radius:16px}\n  #lvm-shell .scorecard-head{grid-template-columns:1.2fr 1fr 1fr;column-gap:14px}\n  #lvm-shell .scorecard-head .h-brand{font-size:12px;gap:5px}\n  #lvm-shell .scorecard-head .h-brand img{width:18px;height:18px}\n  #lvm-shell .scorecard-row{grid-template-columns:1.2fr 1fr 1fr;column-gap:14px;padding:12px 0}\n  #lvm-shell .scorecard-row .crit{font-size:13px;padding-right:8px}\n  #lvm-shell .scorecard-row .bar{gap:6px}\n  #lvm-shell .scorecard-row .bar .v{font-size:11px;min-width:26px}\n  #lvm-shell .persona-it{grid-template-columns:44px 1fr;gap:12px;padding:16px 16px;border-radius:14px}\n  #lvm-shell .persona-it .pic{width:44px;height:44px;font-size:12px}\n  #lvm-shell .persona-it h4{font-size:15px}\n  #lvm-shell .persona-it p{font-size:13px}\n  #lvm-shell .feat-it{grid-template-columns:auto 1fr;gap:14px;padding:20px 0}\n  #lvm-shell .feat-it .fn{font-size:36px;width:54px}\n  #lvm-shell .feat-it .ft{font-size:18px}\n  #lvm-shell .feat-it .fd{font-size:13px}\n  #lvm-shell .feat-it .fc{display:none}\n}\n@media (max-width:480px){\n  #lvm-shell .phone-tabs{gap:5px}\n  #lvm-shell .phone-tabs button{padding:5px 8px;font-size:10px}\n  #lvm-shell .nav-stores{gap:4px}\n  #lvm-shell .nav-stores img{height:22px}\n  #lvm-shell .hero-stores img{height:40px}\n  #lvm-shell .crumb{font-size:12px}\n  #lvm-shell .table-row{grid-template-columns:1.3fr .85fr .85fr}\n  #lvm-shell .table-row > .crit{padding:11px 9px;font-size:12px}\n  #lvm-shell .table-row > .cell{padding:11px 8px;font-size:11px;gap:6px}\n  #lvm-shell .table-row.head > div{padding:11px 9px;font-size:9px;gap:5px}\n}\n\n\/* Calculator-specific styles, scoped #lvm-shell *\/\n#lvm-shell .calc-board{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n@media(min-width:780px){#lvm-shell .calc-board{grid-template-columns:1fr 1fr;gap:24px}}\n#lvm-shell .calc-inputs{background:#FAF7F2;border-radius:14px;padding:22px;border:1px solid var(--rule-soft)}\n#lvm-shell .calc-inputs h3{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 16px;color:var(--ink);letter-spacing:-.01em}\n#lvm-shell .calc-row{margin:0 0 14px}\n#lvm-shell .calc-row label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}\n#lvm-shell .calc-row input,#lvm-shell .calc-row select{width:100%;padding:11px 13px;border:1px solid var(--rule);border-radius:9px;font-size:16px;background:#fff;color:var(--ink);font-family:var(--font-text);box-sizing:border-box}\n#lvm-shell .calc-row input:focus,#lvm-shell .calc-row select:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:var(--pink)}\n#lvm-shell .calc-sex{display:flex;gap:8px}\n#lvm-shell .calc-sex label{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;background:#fff;border:1px solid var(--rule);border-radius:9px;cursor:pointer;margin:0;font-size:14px;font-weight:500;color:var(--ink)}\n#lvm-shell .calc-sex input{display:none}\n#lvm-shell .calc-sex input:checked + span{color:var(--pink);font-weight:600}\n#lvm-shell .calc-sex label:has(input:checked){border-color:var(--pink);background:var(--pink-soft)}\n#lvm-shell .calc-bf{display:flex;align-items:center;gap:10px}\n#lvm-shell .calc-bf input[type=range]{flex:1;accent-color:var(--pink);height:6px}\n#lvm-shell .calc-bf .bf-val{font-weight:600;color:var(--pink);min-width:42px;font-family:var(--font-mono);font-size:15px}\n#lvm-shell .calc-results{display:grid;grid-template-columns:1fr;gap:12px}\n#lvm-shell .calc-tdee{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:18px 20px;text-align:center}\n#lvm-shell .calc-tdee .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono)}\n#lvm-shell .calc-tdee .val{font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.025em;margin-top:6px;color:var(--ink);line-height:1}\n#lvm-shell .calc-tdee .val .unit{font-size:14px;font-weight:500;color:var(--muted);margin-left:6px;letter-spacing:0}\n#lvm-shell .calc-tdee .note{font-size:12px;color:var(--dim);margin-top:6px}\n#lvm-shell .scen-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}\n#lvm-shell .scen-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:14px 16px}\n#lvm-shell .scen-card.lent{border-left:4px solid #4CAF50}\n#lvm-shell .scen-card.mod{border-left:4px solid var(--pink)}\n#lvm-shell .scen-card.agg{border-left:4px solid #E84D44}\n#lvm-shell .scen-card .scen-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}\n#lvm-shell .scen-card .scen-name{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.01em}\n#lvm-shell .scen-card .scen-pct{font-family:var(--font-mono);font-size:12px;color:var(--muted);font-weight:600}\n#lvm-shell .scen-card .scen-kcal{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:6px;line-height:1}\n#lvm-shell .scen-card.mod .scen-kcal{color:var(--pink)}\n#lvm-shell .scen-card .scen-kcal .u{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}\n#lvm-shell .scen-card .scen-rate{font-size:13px;color:var(--ink-2);margin-top:4px}\n#lvm-shell .scen-card .scen-warn{font-size:12px;color:#B23030;margin-top:6px;line-height:1.4}\n#lvm-shell .calc-delta{margin-top:10px;padding:14px 16px;background:var(--pink-soft);border-left:3px solid var(--pink);border-radius:0 10px 10px 0;font-size:14px;color:var(--ink);line-height:1.5}\n#lvm-shell .calc-delta b{color:var(--pink);font-family:var(--font-mono)}\n#lvm-shell .calc-note{margin-top:14px;font-size:13px;color:var(--muted);line-height:1.5}\n#lvm-shell .calc-note a{color:var(--pink);text-decoration:underline}\n\n\/* Statement block *\/\n#lvm-shell .statement{margin:54px 0;padding:48px 32px;background:#FAF7F2;border-radius:18px;text-align:center}\n#lvm-shell .statement p{font-family:var(--font-display);font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.025em;color:var(--ink);margin:0;max-width:680px;margin-inline:auto}\n#lvm-shell .statement .accent{color:var(--pink)}\n@media(max-width:640px){#lvm-shell .statement{padding:38px 22px}#lvm-shell .statement p{font-size:24px}}\n\n\/* Profil cards (no scrollable table) *\/\n#lvm-shell .profile-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:32px 0}\n#lvm-shell .profile-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px 22px}\n#lvm-shell .profile-card h4{font-family:var(--font-display);font-size:17px;font-weight:600;margin:0 0 4px;color:var(--ink)}\n#lvm-shell .profile-card .meta{font-size:13px;color:var(--muted);margin-bottom:14px}\n#lvm-shell .profile-card .rows{display:grid;grid-template-columns:1fr;gap:6px}\n#lvm-shell .profile-card .rw{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 12px;background:#FAF7F2;border-radius:8px;font-size:14px;align-items:center}\n#lvm-shell .profile-card .rw .v{font-family:var(--font-mono);font-weight:600;color:var(--ink);font-size:13px}\n#lvm-shell .profile-card .rw.lean{background:var(--pink-soft);border-left:3px solid var(--pink)}\n#lvm-shell .profile-card .rw.lean .v{color:var(--pink)}\n#lvm-shell .profile-card .delta{font-size:12px;color:var(--dim);margin-top:8px}\n\n\/* 3 scenarios detailed cards *\/\n#lvm-shell .sce-detail{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n#lvm-shell .sce-detail .sd{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 24px}\n#lvm-shell .sce-detail .sd.lent{border-left:4px solid #4CAF50}\n#lvm-shell .sce-detail .sd.mod{border-left:4px solid var(--pink)}\n#lvm-shell .sce-detail .sd.agg{border-left:4px solid #E84D44}\n#lvm-shell .sce-detail .sd .head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;flex-wrap:wrap}\n#lvm-shell .sce-detail .sd h4{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .sce-detail .sd .pct{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--muted)}\n#lvm-shell .sce-detail .sd.lent .pct{color:#4CAF50}\n#lvm-shell .sce-detail .sd.mod .pct{color:var(--pink)}\n#lvm-shell .sce-detail .sd.agg .pct{color:#E84D44}\n#lvm-shell .sce-detail .sd .lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono);margin:10px 0 2px}\n#lvm-shell .sce-detail .sd p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}\n\n\/* BodyScan illust (defensive inline-equivalent here) *\/\n#lvm-shell .bodyscan-illust{margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px}\n#lvm-shell .bodyscan-illust .mini-phone{max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative}\n#lvm-shell .bodyscan-illust .mini-phone .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5}\n#lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5}\n#lvm-shell .bodyscan-illust .mini-phone .scr img{width:100%;height:100%;object-fit:cover;display:block}\n#lvm-shell .bodyscan-cap{font-size:13px;color:var(--muted);text-align:center;line-height:1.5}\n#lvm-shell .bodyscan-cap b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}\n\n\/* FAQ details *\/\n#lvm-shell details.faq{background:#fff;border:1px solid var(--rule);border-radius:10px;margin:8px 0;overflow:hidden}\n#lvm-shell details.faq summary{padding:16px 20px;font-weight:600;font-size:16px;color:var(--ink);cursor:pointer;list-style:none;position:relative;padding-right:48px;font-family:var(--font-display);letter-spacing:-.01em}\n#lvm-shell details.faq summary::-webkit-details-marker{display:none}\n#lvm-shell details.faq summary::after{content:\"+\";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--pink);font-size:22px;font-weight:300;line-height:1}\n#lvm-shell details.faq[open] summary::after{content:\"\\2212 \"}\n#lvm-shell details.faq .faq-body{padding:0 20px 18px;font-size:15px;line-height:1.65;color:var(--ink-2)}\n#lvm-shell details.faq .faq-body p{margin:0 0 8px}\n\n\/* Sources *\/\n#lvm-shell .sources{margin:48px 0 32px;padding:24px;background:#FAF7F2;border-radius:14px;font-size:13px;line-height:1.6;color:var(--muted)}\n#lvm-shell .sources h4{font-family:var(--font-display);font-size:14px;font-weight:600;margin:0 0 10px;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}\n#lvm-shell .sources a{color:var(--pink);text-decoration:none}\n#lvm-shell .sources a:hover{text-decoration:underline}\n#lvm-shell .sources ol{margin:0;padding-left:22px}\n#lvm-shell .sources li{margin:4px 0}\n\n\/* Body copy *\/\n#lvm-shell h2.sect{font-family:var(--font-display);font-size:34px;font-weight:600;letter-spacing:-.03em;margin:64px 0 16px;line-height:1.15;color:var(--ink)}\n#lvm-shell h2.sect .num{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--pink);display:block;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;-webkit-font-smoothing:antialiased}\n#lvm-shell h3.sub{font-family:var(--font-display);font-size:22px;font-weight:600;margin:32px 0 12px;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .body p{margin:0 0 18px;font-size:17px;line-height:1.7;color:var(--ink-2)}\n#lvm-shell .body p b{color:var(--ink);font-weight:600}\n\n\/* CTA band *\/\n#lvm-shell .get-band{margin:48px 0 24px;padding:42px 32px;background:linear-gradient(135deg,#fff,#FAF7F2);border:1px solid var(--rule);border-radius:18px;text-align:center}\n#lvm-shell .get-band h3{font-family:var(--font-display);font-size:30px;font-weight:600;margin:0 0 6px;color:var(--ink);letter-spacing:-.025em}\n#lvm-shell .get-band p{margin:0 0 22px;font-size:16px;color:var(--muted);line-height:1.5}\n#lvm-shell .get-band .stores{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center}\n#lvm-shell .get-band .stores img{height:54px;width:auto;border-radius:10px}\n@media(max-width:640px){#lvm-shell .get-band h3{font-size:22px}}\n\n#lvm-shell .micro-cta{margin:24px 0;padding:18px 22px;background:var(--pink-soft);border-left:3px solid var(--pink);border-radius:0 10px 10px 0;font-size:15px;line-height:1.55}\n#lvm-shell .micro-cta a{color:var(--pink);font-weight:600;text-decoration:none}\n#lvm-shell .micro-cta a:hover{text-decoration:underline}\n\n\n\/* NEAT-specific styles, scoped #lvm-shell *\/\n#lvm-shell .neat-meter{height:10px;border-radius:6px;background:#F1EFE7;margin:14px auto 10px;max-width:340px;overflow:hidden}\n#lvm-shell .neat-meter i{display:block;height:100%;width:30%;border-radius:6px;background:linear-gradient(90deg,#FFB25E,#FF8C00);transition:width .3s ease}\n#lvm-shell .neat-pill{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);color:#0E0E10}\n#lvm-shell .neat-pill.ok{background:#A8D5A0}\n#lvm-shell .neat-pill.warn{background:#FF8C00;color:#fff}\n#lvm-shell .neat-pill.alert{background:#E84D44;color:#fff}\n#lvm-shell .bmr-duo{display:grid;grid-template-columns:1fr;gap:12px}\n@media(min-width:640px){#lvm-shell .bmr-duo{grid-template-columns:1fr 1fr}}\n#lvm-shell .bd-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:16px 18px;text-align:center}\n\/* modificateur \"pas\" (PAS \"steps\" : #lvm-shell .steps existe deja dans le shell\n   comme stepper grid 5 colonnes, collision detectee au controle visuel desktop) *\/\n#lvm-shell .bd-card.pas{border-left:4px solid #FF8C00}\n#lvm-shell .bd-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono)}\n#lvm-shell .bd-card .v{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:6px;line-height:1}\n#lvm-shell .bd-card .v .u{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}\n#lvm-shell .bd-card .s{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.45}\n#lvm-shell .bd-card .s b{color:var(--ink);font-family:var(--font-mono)}\n#lvm-shell .share-card{background:#fff;border:1px solid var(--rule);border-left:4px solid #FF8C00;border-radius:12px;padding:16px 18px;margin-top:12px}\n#lvm-shell .share-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono);margin-bottom:6px}\n#lvm-shell .share-card p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .share-card b{color:var(--ink);font-family:var(--font-mono)}\n#lvm-shell .share-meter{height:10px;border-radius:6px;background:#F1EFE7;margin:10px 0 4px;overflow:hidden}\n#lvm-shell .share-meter i{display:block;height:100%;width:20%;border-radius:6px;background:#FF8C00;transition:width .3s ease}\n#lvm-shell .reco-card{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--pink);border-radius:12px;padding:18px 20px}\n#lvm-shell .reco-card .rc-title{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}\n#lvm-shell .reco-card .rc-body{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .reco-card .rc-disclaimer{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--dim);border-top:1px solid var(--rule-soft);padding-top:10px}\n#lvm-shell .mvr{display:grid;grid-template-columns:1fr;gap:18px;margin:32px 0}\n#lvm-shell .mvr .mv{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 24px}\n#lvm-shell .mvr .mv.myth{border-left:4px solid #E84D44}\n#lvm-shell .mvr .mv.real{border-left:4px solid #4CAF50}\n#lvm-shell .mvr .mv .tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono);margin-bottom:8px}\n#lvm-shell .mvr .mv.myth .tag{color:#E84D44}\n#lvm-shell .mvr .mv.real .tag{color:#4CAF50}\n#lvm-shell .mvr .mv h4{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0 0 8px;color:var(--ink);letter-spacing:-.015em}\n#lvm-shell .mvr .mv p{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ink-2)}\n#lvm-shell .mvr .mv p:last-child{margin-bottom:0}\n#lvm-shell .steps-out{font-family:var(--font-mono);font-size:13px;font-weight:700;color:#FF8C00;margin-left:8px}\n\/* keycards chiffrees couleur NEAT *\/\n#lvm-shell .key-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:26px 0}\n@media(min-width:640px){#lvm-shell .key-grid{grid-template-columns:repeat(3,1fr)}}\n#lvm-shell .key-card{background:#fff;border:1px solid var(--rule);border-left:4px solid #FF8C00;border-radius:12px;padding:16px 18px}\n#lvm-shell .key-card .kv{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:#FF8C00;line-height:1.1}\n#lvm-shell .key-card .kv span{font-size:13px;font-weight:500;color:var(--muted);margin-left:3px;letter-spacing:0}\n#lvm-shell .key-card .kl{font-size:13px;color:var(--dim);margin-top:6px;line-height:1.5}\n\/* aide bodyfat + popup BodyScan (zero lib externe) *\/\n#lvm-shell .bf-help{display:inline-block;background:none;border:0;padding:0;margin-top:8px;font-size:13px;font-weight:600;color:var(--pink);text-decoration:underline;cursor:pointer;font-family:inherit}\n#lvm-shell .bf-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}\n#lvm-shell .bf-modal.open{display:flex}\n#lvm-shell .bf-modal .bf-ovl{position:absolute;inset:0;background:rgba(14,14,16,.55)}\n#lvm-shell .bf-dialog{position:relative;background:#fff;border-radius:16px;max-width:340px;width:100%;padding:24px 22px 20px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:88vh;overflow-y:auto}\n#lvm-shell .bf-dialog .bf-close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:26px;line-height:1;color:#6E6E73;cursor:pointer;padding:6px}\n#lvm-shell .bf-dialog .bf-title{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 8px}\n#lvm-shell .bf-dialog .bf-text{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 14px}\n#lvm-shell .bf-dialog .bf-sub{font-size:12px;line-height:1.5;color:var(--dim);margin:14px 0}\n#lvm-shell .bf-dialog .bf-stores{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}\n#lvm-shell .bf-dialog .bf-stores img{height:40px;width:auto;display:block}\n<\/style>\n<style id=\"lvm-collision-reset\">\n\/* Hard reset for global theme styles that collide with our content *\/\nbody.postid-1965 #lvm-shell .hero{display:block!important;align-items:initial!important;justify-content:initial!important;text-align:left!important;flex-direction:initial!important;padding:54px 0 0!important}\nbody.postid-1965 #lvm-shell .wrap,\nbody.postid-1965 #lvm-shell main.wrap{display:block!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding-left:28px!important;padding-right:28px!important}\n@media (max-width:820px){\n  body.postid-1965 #lvm-shell .wrap,\n  body.postid-1965 #lvm-shell main.wrap{padding-left:18px!important;padding-right:18px!important}\n}\nhtml, body{overflow-x:hidden!important}\nbody.postid-1965 #lvm-shell{overflow-x:hidden;max-width:100vw}\nbody.postid-1965 #lvm-shell *{max-width:100%}\nbody.postid-1965 #lvm-shell .nav-row{max-width:100vw;box-sizing:border-box}\nbody.postid-1965 #lvm-shell.force-show .rev{opacity:1!important;transform:none!important}\n\n\/* === A.1 PHONE BACKGROUND CLASSES === *\/\nbody.postid-1965 #lvm-shell .phone-bg{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center top;background-repeat:no-repeat;transition:opacity .28s ease;background-color:#FAF0E6}\nbody.postid-1965 #lvm-shell .phone-bg.tab-depense{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.tab-bilan{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.tab-kcal{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.tab-strategie{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.sub-BMR{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.sub-NEAT{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.sub-EAT{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp)}\nbody.postid-1965 #lvm-shell .phone-bg.sub-TEF{background-image:url(https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp)}\n\n\/* === v11.3 CTA BANDS MOBILE (badges plus gros + centrage) === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .cta-band{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:26px 22px!important;gap:20px!important}\n  body.postid-1965 #lvm-shell .cta-band .l{min-width:0!important;width:100%!important;font-size:16px!important;line-height:1.5!important;text-align:center!important}\n  body.postid-1965 #lvm-shell .cta-band .stores{width:100%!important;justify-content:center!important;flex-wrap:nowrap!important;gap:10px!important}\n  body.postid-1965 #lvm-shell .cta-band .stores a{flex:1!important;max-width:170px!important;display:flex!important;justify-content:center!important}\n  body.postid-1965 #lvm-shell .cta-band .stores picture{width:100%!important;display:block!important}\n  body.postid-1965 #lvm-shell .cta-band .stores img{height:56px!important;width:100%!important;max-width:170px!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important}\n  body.postid-1965 #lvm-shell .get-band{padding:38px 22px!important}\n  body.postid-1965 #lvm-shell .get-band .stores{justify-content:center!important;flex-wrap:nowrap!important;gap:10px!important}\n  body.postid-1965 #lvm-shell .get-band .stores a{flex:1!important;max-width:170px!important;display:flex!important;justify-content:center!important}\n  body.postid-1965 #lvm-shell .get-band .stores picture{width:100%!important;display:block!important}\n  body.postid-1965 #lvm-shell .get-band .stores img{height:56px!important;width:100%!important;max-width:170px!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important}\n  body.postid-1965 #lvm-shell .get-band h3{font-size:26px!important;line-height:1.2!important}\n  body.postid-1965 #lvm-shell .get-band p{font-size:15px!important}\n}\n\n\/* === v11.2 BRAND BANNER above table responsive === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .brand-banner img{width:54px!important;height:54px!important}\n  body.postid-1965 #lvm-shell .brand-banner > div{padding:16px 12px!important;gap:8px!important}\n  body.postid-1965 #lvm-shell .brand-banner > div > div{font-size:15px!important}\n}\n\n\/* === v11.4 SCORECARD partie 7: redesign mobile === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .scorecard{padding:18px 16px!important;border-radius:16px!important}\n  body.postid-1965 #lvm-shell .scorecard-head{display:none!important}\n  body.postid-1965 #lvm-shell .scorecard-row{\n    display:block!important;\n    padding:14px 0!important;\n    border-bottom:1px solid #E8E2D6!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .crit{\n    display:block!important;\n    font-size:13px!important;\n    font-weight:600!important;\n    color:#0E0E10!important;\n    margin-bottom:10px!important;\n    padding-right:0!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .bar{\n    display:grid!important;\n    grid-template-columns:54px 1fr 32px!important;\n    column-gap:8px!important;\n    align-items:center!important;\n    padding:5px 0!important;\n    flex-direction:initial!important;\n    position:relative!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .bar::before{\n    content:attr(data-brand)!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:11px!important;\n    font-weight:600!important;\n    text-transform:uppercase!important;\n    letter-spacing:.05em!important;\n    color:#0E0E10!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .bar.lean::before{color:#FF2D6E!important}\n  body.postid-1965 #lvm-shell .scorecard-row .bar.mfp::before{color:#5B7FFF!important}\n  body.postid-1965 #lvm-shell .scorecard-row .bar .b{\n    height:10px!important;\n    width:100%!important;\n    border-radius:99px!important;\n    position:relative!important;\n    background:#EFEAE0!important;\n    overflow:hidden!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .bar .b > i{\n    display:block!important;\n    height:100%!important;\n    border-radius:99px!important;\n  }\n  body.postid-1965 #lvm-shell .scorecard-row .bar .v{\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:12px!important;\n    font-weight:700!important;\n    color:#0E0E10!important;\n    min-width:0!important;\n    text-align:right!important;\n  }\n}\n\n\/* === A.2 CHARTS MOBILE === *\/\n@media (max-width:760px){\n  \/* v13: charts FULL WIDTH (less card padding) + plus hauts pour vraie respiration *\/\n  body.postid-1965 #lvm-shell .cv-wrap{height:380px!important;min-height:360px!important;max-height:420px!important;width:100%!important}\n  body.postid-1965 #lvm-shell .cv-wrap canvas{width:100%!important;height:100%!important;display:block!important}\n  body.postid-1965 #lvm-shell .fig{padding:16px 4px 14px!important;margin:24px -4px 14px!important;overflow:visible!important}\n  body.postid-1965 #lvm-shell .fig-head{padding:0 12px!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important}\n  body.postid-1965 #lvm-shell .fig-body{padding:0 2px!important}\n  body.postid-1965 #lvm-shell .fig-cap{padding:0 12px!important;font-size:13px!important;margin-top:10px!important}\n}\n@media (max-width:480px){\n  body.postid-1965 #lvm-shell .cv-wrap{height:360px!important;min-height:340px!important;max-height:380px!important}\n  body.postid-1965 #lvm-shell .fig{padding:14px 2px 12px!important;margin:20px -6px 12px!important;border-radius:14px!important}\n  body.postid-1965 #lvm-shell .fig-body{padding:0!important}\n}\n\n\/* === v11.2 TABLEAU MOBILE STACKED CARDS avec mini-tags Lean\/MFP === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .table{border-radius:14px!important}\n  body.postid-1965 #lvm-shell .table-row.head{display:none!important}\n  body.postid-1965 #lvm-shell .table-row{\n    display:grid!important;\n    grid-template-columns:1fr 1fr!important;\n    grid-template-areas:\"crit crit\" \"lean mfp\"!important;\n    gap:0!important;\n    min-height:0!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .crit{\n    grid-area:crit!important;background:#0E0E10!important;color:#fff!important;\n    padding:11px 14px!important;font-size:13px!important;font-weight:600!important;\n    letter-spacing:-0.1px!important;border-right:0!important;line-height:1.35!important;\n    font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',sans-serif!important;text-transform:none!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .cell.lean{\n    grid-area:lean!important;border-right:1px solid #E8E2D6!important;\n    position:relative!important;background:#FFF1F5!important;padding-top:30px!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .cell:not(.lean):not(.crit){\n    grid-area:mfp!important;background:#F5F5F7!important;padding-top:30px!important;\n    position:relative!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .cell.lean::before{\n    content:\"LEAN\"!important;position:absolute!important;top:8px!important;left:12px!important;\n    right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;\n    background:transparent!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:10px!important;font-weight:700!important;letter-spacing:.07em!important;\n    color:#FF2D6E!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .cell:not(.lean):not(.crit)::before{\n    content:\"CRONOMETER\"!important;position:absolute!important;top:8px!important;left:12px!important;\n    font-family:-apple-system,'SF Pro Display',sans-serif!important;\n    font-size:10px!important;font-weight:700!important;letter-spacing:.07em!important;\n    color:#E15822!important;\n  }\n  body.postid-1965 #lvm-shell .table-row > .cell{\n    padding:12px 12px!important;font-size:13px!important;line-height:1.4!important;\n    align-items:flex-start!important;gap:7px!important;\n  }\n  body.postid-1965 #lvm-shell .icn{flex-shrink:0!important;margin-top:1px!important}\n}\n\n\/* === A.5 MINI-LOGOS partie 7 (triplet NEAT\/EAT\/TEF) === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .mini-row{gap:6px!important;margin:24px 0!important;grid-template-columns:repeat(3,1fr)!important}\n  body.postid-1965 #lvm-shell .mini-phone{max-width:100px!important;padding:2px!important;border-radius:14px!important;border-width:1px!important}\n  body.postid-1965 #lvm-shell .mini-phone.tiny{max-width:96px!important;padding:2px!important;border-radius:13px!important}\n  body.postid-1965 #lvm-shell .mini-phone .notch{width:30px!important;height:8px!important;border-radius:0 0 5px 5px!important}\n  body.postid-1965 #lvm-shell .mini-phone .scr{border-radius:11px!important}\n  body.postid-1965 #lvm-shell .mini-cap{font-size:10px!important;margin-top:8px!important}\n  body.postid-1965 #lvm-shell .mini-cap strong{font-size:12px!important;margin-top:2px!important}\n}\n\n\/* === MOCKUP TAP HINT MOBILE === *\/\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .tap-hint.mobile{position:relative!important;width:100%!important;left:auto!important;top:auto!important;text-align:center!important;margin:0 auto 14px!important;display:block!important}\n  body.postid-1965 #lvm-shell .tap-hint.desktop{display:none!important}\n  body.postid-1965 #lvm-shell .tap-hint.hidden{display:none!important;height:0!important;margin:0!important;padding:0!important}\n}\n\n\/* === A.6 BODYSCAN ILLUST partie BMR (override mobile mini-phone) === *\/\nbody.postid-1965 #lvm-shell .bodyscan-illust{margin:40px auto 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:14px!important;max-width:220px!important}\nbody.postid-1965 #lvm-shell .bodyscan-illust .mini-phone{max-width:200px!important;padding:3px!important;border-radius:22px!important;border-width:1px!important}\nbody.postid-1965 #lvm-shell .bodyscan-illust .mini-phone .notch{width:40px!important;height:11px!important;border-radius:0 0 7px 7px!important}\nbody.postid-1965 #lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:18px!important}\n@media (max-width:760px){\n  body.postid-1965 #lvm-shell .bodyscan-illust{max-width:180px!important}\n  body.postid-1965 #lvm-shell .bodyscan-illust .mini-phone{max-width:160px!important;padding:3px!important;border-radius:20px!important}\n  body.postid-1965 #lvm-shell .bodyscan-illust .mini-phone .notch{width:34px!important;height:9px!important;border-radius:0 0 6px 6px!important}\n  body.postid-1965 #lvm-shell .bodyscan-illust .mini-phone .scr{border-radius:16px!important}\n}\n\n\/* Fix CompressX picture wrappers : images ne doivent pas exploser *\/\n#lvm-shell picture{display:block;max-width:100%}\n#lvm-shell picture img{display:block;max-width:100%;height:auto}\n#lvm-shell .bodyscan-illust .mini-phone .scr picture{display:block;width:100%;height:100%}\n#lvm-shell .bodyscan-illust .mini-phone .scr picture img{width:100%!important;height:100%!important;object-fit:cover!important}\n#lvm-shell .pyramide-illust picture{display:block;width:100%}\n#lvm-shell .pyramide-illust picture img{width:100%!important;height:auto!important;border-radius:18px}<\/style>\n<div id=\"lvm-shell\" class=\"force-show\">\n\n<nav class=\"nav\"><div class=\"nav-row\">\n  <a class=\"nav-brand\" href=\"https:\/\/lean-app.com\/no\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" alt=\"Lean\" width=\"28\" height=\"28\"><span>Lean<\/span><\/a>\n  <div class=\"nav-spacer\"><\/div>\n  <a class=\"nav-link\" href=\"https:\/\/lean-app.com\/no\/\">Hjem<\/a>\n  <div class=\"nav-stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\" aria-label=\"App Store\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"App Store\"><\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\" aria-label=\"Google Play\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Google Play\"><\/a>\n  <\/div>\n<\/div><\/nav>\n<div class=\"progress\"><i><\/i><\/div>\n<main class=\"wrap\">\n\n<section class=\"hero\" aria-labelledby=\"title\">\n  <div class=\"crumb\"><a href=\"https:\/\/lean-app.com\/no\/\">Hjem<\/a> &nbsp;\/&nbsp; Makrokalkulator<\/div>\n  <div class=\"eyebrow\">Kalkulator &middot; Makroer &amp; fordeling<\/div>\n  <h1 id=\"title\">Makrokalkulator&nbsp;: proteiner, karbohydrater, fett\n    <span class=\"alt\">i riktig rekkef\u00f8lge, p\u00e5 de reelle m\u00e5lingene dine<\/span>\n  <\/h1>\n  <p class=\"dek\">Faste prosentandeler som \u00ab40\/40\/20\u00bb har en skjult feil: de fordeler kalorier de ikke engang kjenner. Den riktige metoden har en rekkef\u00f8lge: f\u00f8rst proteinene dine (p\u00e5 den fettfrie massen din), deretter fettet ditt (det hormonelle gulvet), og karbohydratene tar resten av DITT reelle forbruk, beregnet p\u00e5 m\u00e5lingene og skrittene dine. Det er det denne kalkulatoren gj\u00f8r, med kilder.<\/p>\n  <div class=\"byline\">\n    <img class=\"by-logo\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" alt=\"\" width=\"512\" height=\"512\" loading=\"lazy\" decoding=\"async\" \/>\n    <span><strong>Lean-teamet<\/strong> &middot; Lesetid 8&nbsp;min &middot; Oppdatert 27. august 2026<\/span>\n  <\/div>\n  <div class=\"hero-stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\">\n      <img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" width=\"413\" height=\"122\" loading=\"lazy\" decoding=\"async\" \/>\n    <\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\">\n      <img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" width=\"315\" height=\"95\" loading=\"lazy\" decoding=\"async\" \/>\n    <\/a>\n    <span class=\"or\">Gratis nedlasting<\/span>\n  <\/div>\n\n  <div class=\"hero-bottom\">\n    <div class=\"hero-lead\">\n      Generiske fordelinger av typen \u00ab40\/40\/20\u00bb bruker vilk\u00e5rlige prosentandeler p\u00e5 et total ansl\u00e5tt p\u00e5 slump. Det er n\u00f8yaktig det Lean avviser: forbruket ditt beregnes p\u00e5 m\u00e5lingene dine (fettprosent, reelle skritt), og makroene dine telles ved hvert loggede m\u00e5ltid. Denne siden bruker samme logikk: forbruket ditt f\u00f8rst, grammene dine etterp\u00e5, i rekkef\u00f8lgen som teller.\n    <\/div>\n    <div class=\"phone-wrap rev\">\n      <div class=\"phone-stage\">\n        <div class=\"tap-hint mobile\" id=\"tapHintMobile\" aria-hidden=\"true\">\n          <span class=\"th-pill\"><small>D\u00e9mo interactive<\/small>Touchez l&rsquo;\u00e9cran pour explorer l&rsquo;app<\/span>\n          <svg class=\"th-arrow\" viewbox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n            <path d=\"M12 4 L12 20 M5 13 L12 20 L19 13\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"tap-hint desktop\" id=\"tapHintDesktop\" aria-hidden=\"true\">\n          <span class=\"th-pill\"><small>D\u00e9mo interactive<\/small>Touchez l&rsquo;\u00e9cran<br>for \u00e5 utforske appen<\/span>\n          <svg class=\"th-arrow\" viewbox=\"0 0 104 34\" fill=\"none\" aria-hidden=\"true\">\n            <path d=\"M4 9 C 34 1, 64 20, 94 27\" stroke=\"currentColor\" stroke-width=\"2.6\" fill=\"none\" stroke-linecap=\"round\"\/>\n            <path d=\"M86 20 L 94 27 L 84 30\" stroke=\"currentColor\" stroke-width=\"2.6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"phone\" id=\"phone\" role=\"img\" aria-label=\"Aper\u00e7u de l'application Lean avec drilldown du TDEE\">\n          <div class=\"notch\"><\/div>\n          <div class=\"phone-screen\">\n            <button class=\"phone-back\" id=\"phoneBack\" aria-label=\"Tilbake\">&#8249;<\/button>\n            <div id=\"phoneImg\" class=\"phone-bg tab-depense\" role=\"img\" aria-label=\"Aper\u00e7u Lean, onglet D\u00e9pense\"><\/div>\n            <div class=\"phone-zones\" id=\"phoneZones\">\n              <div class=\"z\" data-sub=\"BMR\"  style=\"top:11%;height:21%\" role=\"button\" tabindex=\"0\" aria-label=\"D\u00e9tail BMR\"><\/div>\n              <div class=\"z\" data-sub=\"NEAT\" style=\"top:33%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"D\u00e9tail NEAT\"><\/div>\n              <div class=\"z\" data-sub=\"EAT\"  style=\"top:50%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"D\u00e9tail EAT\"><\/div>\n              <div class=\"z\" data-sub=\"TEF\"  style=\"top:67%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"D\u00e9tail TEF\"><\/div>\n            <\/div>\n            <div class=\"phone-navbar\" id=\"phoneNav\" aria-hidden=\"false\">\n              <button data-tab=\"bilan\"     type=\"button\" aria-label=\"Onglet Bilan\"><\/button>\n              <button data-tab=\"kcal\"      type=\"button\" aria-label=\"Onglet Calories\"><\/button>\n              <button data-tab=\"depense\"   type=\"button\" aria-label=\"Forbruk-fanen\"><\/button>\n              <button data-tab=\"strategie\" type=\"button\" aria-label=\"Onglet Strat\u00e9gie\"><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"phone-tabs\" role=\"tablist\" aria-label=\"Naviguer dans l'app Lean\">\n          <button data-tab=\"bilan\"     type=\"button\">Oversikt<\/button>\n          <button data-tab=\"kcal\"      type=\"button\">Kalorier<\/button>\n          <button data-tab=\"depense\"   type=\"button\" class=\"on\">D\u00e9pense<\/button>\n          <button data-tab=\"strategie\" type=\"button\">Strat\u00e9gie<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"snippet rev\">\n    <div class=\"lbl\">Raskt svar<\/div>\n    <p>Metoden i tre trinn, den fagfeltets referanser bruker (Helms 2014, Kerksick 2018): <b>prot\u00e9ines<\/b> f\u00f8rst, p\u00e5 den fettfrie massen din; <b>lipides<\/b> deretter, som gulv (20 til 30&nbsp;% av kaloriene dine, de b\u00e6rer hormonene dine); <b>glucides<\/b> til slutt, som tar alle gjenv\u00e6rende kalorier for \u00e5 n\u00e6re treningen din. For en mann p\u00e5 75&nbsp;kg med 15&nbsp;% fett som deffer, gir det omtrent <b>172&nbsp;g protein, 168&nbsp;g karbohydrater og 50&nbsp;g fett<\/b>. Beregn din n\u00f8yaktige fordeling nedenfor.<\/p>\n  <\/div>\n<\/section>\n\n<h2 class=\"sect\"><span class=\"num\">02 &middot; Kalkulator<\/span>Beregn makrofordelingen din i gram<\/h2>\n<p>M\u00e5lingene dine, skrittene dine, m\u00e5let ditt: kalkulatoren rekonstruerer forbruket ditt utenom trening (BMR p\u00e5 fettfri masse + NEAT fra skrittene dine + TEF, samme formler som v\u00e5r <a href=\"https:\/\/lean-app.com\/no\/calculateur-tdee\/\">calculateur TDEE<\/a>), bruker m\u00e5let ditt, og fordeler deretter i rekkef\u00f8lge: proteiner p\u00e5 den fettfrie massen din, fett p\u00e5 25&nbsp;% av kaloriene, karbohydrater p\u00e5 resten. \u00d8ktene dine (EAT) legges opp\u00e5: p\u00e5 treningsdager er det karbohydratene som stiger. Ukjent fettprosent? G\u00e5 via v\u00e5r <a href=\"https:\/\/lean-app.com\/no\/calculateur-masse-grasse\/\">fettprosentkalkulator<\/a>.<\/p>\n\n<div class=\"calc-board\" id=\"calcBoard\">\n  <div class=\"calc-inputs\">\n    <h3>M\u00e5lingene dine<\/h3>\n    <div class=\"calc-row\">\n      <label>Kj\u00f8nn<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"sex\" value=\"M\" checked><span>Mann<\/span><\/label>\n        <label><input type=\"radio\" name=\"sex\" value=\"F\"><span>Kvinne<\/span><\/label>\n      <\/div>\n    <\/div>\n    <div class=\"calc-row\"><label for=\"cAge\">Alder (\u00e5r)<\/label><input id=\"cAge\" type=\"number\" min=\"14\" max=\"90\" value=\"30\"><\/div>\n    <div class=\"calc-row\"><label for=\"cWeight\">Vekt (kg)<\/label><input id=\"cWeight\" type=\"number\" min=\"35\" max=\"200\" step=\"0.1\" value=\"75\"><\/div>\n    <div class=\"calc-row\"><label for=\"cHeight\">H\u00f8yde (cm)<\/label><input id=\"cHeight\" type=\"number\" min=\"140\" max=\"220\" value=\"178\"><\/div>\n    <div class=\"calc-row\">\n      <label for=\"cBodyfat\">Fettprosent<span class=\"steps-out\" id=\"bfVal\">15&nbsp;%<\/span><\/label>\n      <div class=\"calc-bf\"><input id=\"cBodyfat\" type=\"range\" min=\"5\" max=\"45\" step=\"0.5\" value=\"15\"><\/div>\n      <button type=\"button\" class=\"bf-help\" id=\"bfHelp\">Kjenner du ikke fettprosenten din&nbsp;?<\/button>\n      <div class=\"calc-note\" id=\"bfHint\">Vanlige intervaller for en mann: 10 til 25&nbsp;%. M\u00e5l den med m\u00e5leb\u00e5nd med fettprosentkalkulatoren v\u00e5r, eller med foto via BodyScan.<\/div>\n    <\/div>\n    <div class=\"calc-row\">\n      <label for=\"cSteps\">Daglige skritt (7-dagers gjennomsnitt)<span class=\"steps-out\" id=\"stepsVal\">8&#8239;000 skritt<\/span><\/label>\n      <div class=\"calc-bf\"><input id=\"cSteps\" type=\"range\" min=\"1000\" max=\"30000\" step=\"500\" value=\"8000\"><\/div>\n      <div class=\"calc-note\">Det reelle gjennomsnittet ditt finner du i Helse-appen eller Google Fit. Det er det som kalibrerer karbohydratene dine, ikke en avkrysset boks.<\/div>\n    <\/div>\n    <div class=\"calc-row\">\n      <label>M\u00e5let ditt<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"goal\" value=\"cut\" checked><span>Deff<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"maintain\"><span>Vedlikehold<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"bulk\"><span>Muskel\u00f8kning<\/span><\/label>\n      <\/div>\n      <div class=\"calc-note\" id=\"goalHint\">I deff: m\u00e5l p\u00e5 80&nbsp;% av forbruket ditt utenom trening, proteiner i \u00f8vre del av intervallet.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"calc-results\">\n    <div class=\"calc-tdee\">\n      <div class=\"label\">Kalorim\u00e5let ditt (utenom \u00f8kter)<\/div>\n      <div class=\"val\"><span id=\"rKcal\">1&#8239;812<\/span><span class=\"unit\">kcal\/dag<\/span><\/div>\n      <div class=\"neat-meter\" aria-hidden=\"true\"><i id=\"kcalBar\"><\/i><\/div>\n      <span class=\"neat-pill warn\" id=\"kcalPill\">Deffm\u00e5l<\/span>\n      <div class=\"note\">Forbruk utenom trening rekonstruert p\u00e5 m\u00e5lingene dine (BMR fettfri masse + NEAT fra skrittene dine + TEF), deretter m\u00e5l anvendt. \u00d8ktene dine legges opp\u00e5: spis treningskarbohydratene dine i tillegg de dagene.<\/div>\n    <\/div>\n\n    <div class=\"bmr-duo\">\n      <div class=\"bd-card pas\">\n        <div class=\"label\">Proteiner<\/div>\n        <div class=\"v\"><span id=\"rP\">172<\/span><span class=\"u\">g<\/span><\/div>\n        <div class=\"s\"><b id=\"rP4\">688<\/b> kcal &middot; 4 kcal\/g &middot; p\u00e5 den fettfrie massen din<\/div>\n      <\/div>\n      <div class=\"bd-card\">\n        <div class=\"label\">Karbohydrater<\/div>\n        <div class=\"v\"><span id=\"rG\">168<\/span><span class=\"u\">g<\/span><\/div>\n        <div class=\"s\"><b id=\"rG4\">672<\/b> kcal &middot; 4 kcal\/g &middot; justeringsvariabelen<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"share-card\">\n      <div class=\"label\">Fett<\/div>\n      <div class=\"share-meter\" aria-hidden=\"true\"><i id=\"shareBar\"><\/i><\/div>\n      <p><b id=\"rL\">50<\/b>&nbsp;g per dag (<b id=\"rL9\">453<\/b>&nbsp;kcal, 9&nbsp;kcal\/g), alts\u00e5 25&nbsp;% av kaloriene dine: gulvet som st\u00f8tter hormonene dine (sunt intervall: 20 til 30&nbsp;%, Helms 2014). Under 20&nbsp;% over tid er det ikke lenger strenghet, det er en risiko.<\/p>\n    <\/div>\n\n    <div class=\"calc-delta\" id=\"deltaLine\">\n      I g\/kg kroppsvekt: <b id=\"dPkg\">2,3<\/b> protein, <b id=\"dGkg\">2,2<\/b> karbohydrater, <b id=\"dLkg\">0,7<\/b> fett. P\u00e5 treningsdager, legg til \u00f8ktkaloriene dine <b>i karbohydrater<\/b> : det er de som fyller tanken.\n    <\/div>\n\n    <div class=\"reco-card\" id=\"recoCard\">\n      <div class=\"rc-title\" id=\"recoTitle\">Anbefaling<\/div>\n      <p class=\"rc-body\" id=\"recoBody\"><\/p>\n      <p class=\"rc-disclaimer\">Pedagogisk anslag basert p\u00e5 publiserte anbefalinger (Helms 2014; Morton 2018; Kerksick 2018). Denne kalkulatoren er ikke et diagnostisk verkt\u00f8y og erstatter ikke medisinske r\u00e5d.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  Denne kalkulatoren gir fordelingen din med transparente formler. <b>Lean g\u00e5r lenger:<\/b> de tre makrotellerne dine fylles i sanntid ved hver logget matvare, forbruket ditt beveger seg med skrittene dine, og dagsm\u00e5let ditt justeres kontinuerlig. <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\">F\u00f8lg makroene dine i Lean.<\/a>\n<\/div>\n\n<div class=\"bf-modal\" id=\"bfModal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bfModalTitle\">\n  <div class=\"bf-ovl\" id=\"bfOvl\"><\/div>\n  <div class=\"bf-dialog\">\n    <button class=\"bf-close\" id=\"bfClose\" type=\"button\" aria-label=\"Fermer\">&times;<\/button>\n    <div class=\"bf-title\" id=\"bfModalTitle\">Kjenner du ikke fettprosenten din&nbsp;?<\/div>\n    <p class=\"bf-text\">Leans AI BodyScan m\u00e5ler den p\u00e5 5&nbsp;sekunder med ett enkelt foto: fettprosent, fettfri masse og fettmasse, direkte fra telefonen din.<\/p>\n    <div class=\"bodyscan-illust\" style=\"margin:0 auto;max-width:200px\">\n      <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative;margin:0 auto\">\n        <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n        <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-bodyscan-result.webp\" alt=\"R\u00e9sultat BodyScan IA : bodyfat mesur\u00e9 depuis une photo, masse maigre et masse grasse\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n      <\/div>\n    <\/div>\n    <p class=\"bf-sub\">To alternativer: v\u00e5r <a href=\"https:\/\/lean-app.com\/no\/calculateur-masse-grasse\/\">m\u00e5leb\u00e5ndkalkulator<\/a> (2 minutter, gratis), eller foto-BodyScan ovenfor. I mellomtiden, la glidebryteren st\u00e5 p\u00e5 en omtrentlig verdi: en omtrentlig fettprosent er bedre enn en fordeling p\u00e5 slump.<\/p>\n    <div class=\"bf-stores\">\n      <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" width=\"413\" height=\"122\" loading=\"lazy\" decoding=\"async\"><\/a>\n      <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" width=\"315\" height=\"95\" loading=\"lazy\" decoding=\"async\"><\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">03 &middot; Vitenskapen<\/span>Hvorfor rekkef\u00f8lgen p\u00e5 makroene teller mer enn prosentandelene<\/h2>\n\n<div class=\"statement\"><p>\u00c9n makro fastsettes, \u00e9n makro beskyttes, \u00e9n makro justeres. <span class=\"accent\">I den rekkef\u00f8lgen.<\/span><\/p><\/div>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">1.<span>prot\u00e9ines<\/span><\/div><div class=\"kl\">fastsatt p\u00e5 den fettfrie massen din: de beskytter muskelen, uansett m\u00e5l (Morton 2018, Helms 2014)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">20-30<span>% kcal<\/span><\/div><div class=\"kl\">fettgulvet som st\u00f8tter hormonproduksjonen, ikke bryt det i deff (Helms 2014)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">resten<span>glucides<\/span><\/div><div class=\"kl\">justeringsvariabelen: de f\u00f8lger det reelle forbruket ditt og n\u00e6rer \u00f8ktene dine (Kerksick 2018)<\/div><\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Fordelinger i faste prosentandeler, det ber\u00f8mte \u00ab40\/40\/20\u00bb, har to strukturelle feil. F\u00f8rst brukes de p\u00e5 et kaloritotal de ikke beregner: 40&nbsp;% av et feil forbruk forblir feil. Deretter behandler de de tre makroene som utbyttbare, mens de verken har samme rolle eller samme hastverk.<\/p>\n<p>Hierarkiet det er konsensus om blant fagfeltets referanser (Helms 2014 for forberedelse, Kerksick 2018 for ISSN-oversikten) best\u00e5r av tre trinn. <b>Proteinene f\u00f8rst<\/b> : de fastsettes i gram p\u00e5 den fettfrie massen din, ikke i prosent, fordi rollen deres (bygge og beskytte muskel) ikke avhenger av kaloritotalen din. <b>Fettet deretter<\/b> : det b\u00e6rer hormonproduksjonen din; under 20&nbsp;% av kaloriene over tid leker man med ilden, derav et gulv p\u00e5 20-30&nbsp;%. <b>Karbohydratene til slutt<\/b> : alt som gjenst\u00e5r. Det er ikke \u00abrester\u00bb i nedsettende forstand: det er drivstoffet for \u00f8ktene dine, og det er nettopp fordi de er justeringsvariabelen at de tar underskuddet i deff og overskuddet i oppbygging.<\/p>\n<p>Denne kalkulatoren legger til byggesteinen som mangler overalt ellers: startkaloritotalen rekonstrueres p\u00e5 <b>tes mesures<\/b> (BMR p\u00e5 fettfri masse, NEAT p\u00e5 de reelle skrittene dine, TEF), ikke p\u00e5 en aktivitetsboks krysset av en optimistisk dag. Samme formler som v\u00e5r <a href=\"https:\/\/lean-app.com\/no\/calculateur-tdee\/\">calculateur TDEE<\/a>, konsistensen kan sjekkes fra side til side.<\/p>\n<p>Hvor h\u00f8rer det hjemme i ligningen? Makroene du spiser bestemmer ogs\u00e5 <a href=\"https:\/\/lean-app.com\/no\/effet-thermique-des-aliments\/\">TEF<\/a> (4. byggestein i TDEE = BMR + NEAT + EAT + TEF): proteiner forbrenner 20 til 30&nbsp;% av kaloriene sine i ford\u00f8yelsen, karbohydrater 5 til 10&nbsp;%, fett nesten ingenting. En proteinrik fordeling \u00f8ker forbruket ditt litt, og Lean teller denne effekten p\u00e5 de faktisk loggede makroene dine.<\/p>\n<\/div>\n\n<div class=\"bodyscan-illust\" style=\"margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px\">\n  <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative\">\n    <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n    <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp\" alt=\"\u00c9cran Calories de Lean : les trois compteurs de macros remplis \u00e0 chaque aliment logg\u00e9\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n  <\/div>\n  <div class=\"bodyscan-cap\" style=\"font-size:13px;color:#6E6E73;text-align:center;line-height:1.5\"><b style=\"display:block;color:#0E0E10;font-weight:600;margin-bottom:3px\">De 3 tellerne dine, direkte<\/b>Proteiner, karbohydrater, fett: hver logget matvare fyller tellerne i appen.<\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Siste \u00e6rlige poeng: presisjonen i fordelingen din avhenger av presisjonen i forbruket ditt, alts\u00e5 av fettprosenten og skrittene dine. Det er et solid startanslag, som justeres p\u00e5 de reelle resultatene dine gjennom ukene: det perfekte tallet finnes ikke, den m\u00e5lte kursen gj\u00f8r det.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  De to byggesteinene oppstr\u00f8ms: din <a href=\"https:\/\/lean-app.com\/no\/calculateur-masse-grasse\/\">fettprosent med m\u00e5leb\u00e5nd<\/a> og dine <a href=\"https:\/\/lean-app.com\/no\/calculateur-proteines\/\">proteiner p\u00e5 fettfri masse<\/a>. Alle verkt\u00f8yene finnes p\u00e5 <a href=\"https:\/\/lean-app.com\/no\/calculateurs\/\">kalkulatorhuben<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">04 &middot; Tre tallfestede profiler<\/span>Samme kropper, fra fettprosent til makroer<\/h2>\n<p>Profilene fra kalkulatorene v\u00e5re for <a href=\"https:\/\/lean-app.com\/no\/calculateur-masse-grasse\/\">fettmasse<\/a> og <a href=\"https:\/\/lean-app.com\/no\/calculateur-proteines\/\">prot\u00e9ines<\/a>, f\u00f8rt til ende: den komplette fordelingen deres. Gjenskap hvert tall ved \u00e5 legge inn samme parametere ovenfor.<\/p>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>Hun deffer rent<\/h4>\n    <div class=\"meta\">Kvinne &middot; 31 \u00e5r &middot; 64&nbsp;kg &middot; 1,66&nbsp;m &middot; fettprosent 27&nbsp;% &middot; 6&#8239;000 skritt &middot; deff<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Kalorim\u00e5l (utenom \u00f8kter)<\/span><span class=\"v\">&asymp;&nbsp;1&#8239;379 kcal\/d<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiner<\/span><span class=\"v\">&asymp;&nbsp;126 g<\/span><\/div>\n      <div class=\"rw\"><span>Karbohydrater<\/span><span class=\"v\">&asymp;&nbsp;133 g<\/span><\/div>\n      <div class=\"rw\"><span>Fett<\/span><span class=\"v\">&asymp;&nbsp;38 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">H\u00f8ye proteiner for 46,7&nbsp;kg fettfri masse: deffen beskytter muskelen hennes. <b style=\"color:var(--pink)\">P\u00e5 treningsdager stiger karbohydratene hennes, ikke underskuddet.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>Den definerte idrettsut\u00f8veren i deff<\/h4>\n    <div class=\"meta\">Mann &middot; 29 \u00e5r &middot; 75&nbsp;kg &middot; 1,78&nbsp;m &middot; fettprosent 12,5&nbsp;% &middot; 8&#8239;000 skritt &middot; deff<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Kalorim\u00e5l (utenom \u00f8kter)<\/span><span class=\"v\">&asymp;&nbsp;1&#8239;854 kcal\/d<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiner<\/span><span class=\"v\">&asymp;&nbsp;177 g<\/span><\/div>\n      <div class=\"rw\"><span>Karbohydrater<\/span><span class=\"v\">&asymp;&nbsp;172 g<\/span><\/div>\n      <div class=\"rw\"><span>Fett<\/span><span class=\"v\">&asymp;&nbsp;51 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">Stramme karbohydrater i hverdagen: det er tegnet p\u00e5 en godt kalibrert avansert deff. <b style=\"color:var(--pink)\">Marginen hans ligger i skrittene: 2&#8239;000 flere &asymp; 65 kcal i m\u00e5l, alts\u00e5 ~16 g karbohydrater vunnet.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>Han bygger rent<\/h4>\n    <div class=\"meta\">Mann &middot; 42 \u00e5r &middot; 92&nbsp;kg &middot; 1,80&nbsp;m &middot; fettprosent 26,5&nbsp;% &middot; 10&#8239;000 skritt &middot; oppbygging<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Kalorim\u00e5l (utenom \u00f8kter)<\/span><span class=\"v\">&asymp;&nbsp;2&#8239;704 kcal\/d<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiner<\/span><span class=\"v\">&asymp;&nbsp;128 g<\/span><\/div>\n      <div class=\"rw\"><span>Karbohydrater<\/span><span class=\"v\">&asymp;&nbsp;379 g<\/span><\/div>\n      <div class=\"rw\"><span>Fett<\/span><span class=\"v\">&asymp;&nbsp;75 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">Moderat overskudd p\u00e5 10&nbsp;%, alt i karbohydrater: oppbyggingen forblir ren. <b style=\"color:var(--pink)\">Fettprosent m\u00e5lt p\u00e5 nytt hver 4. uke for \u00e5 sjekke.<\/b><\/div>\n  <\/div>\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">05 &middot; I praksis<\/span>Leve med makroene sine uten \u00e5 gj\u00f8re dem til en religion<\/h2>\n\n<div class=\"body\">\n<p>En fordeling er bare nyttig hvis den holder i det virkelige liv. De fire reglene som unng\u00e5r 90&nbsp;% av oppgivelsene:<\/p>\n<\/div>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>1. Proteinene som absolutt prioritet<\/h4>\n    <div class=\"meta\">Den eneste makroen \u00e5 sikte p\u00e5 grammet<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">N\u00e5 proteinene dine hver dag, selv n\u00e5r resten sklir ut: \u00e9n kilde ved hvert m\u00e5ltid. Karbohydrater og fett t\u00e5ler daglig omtrentlighet, muskelen gj\u00f8r det ikke.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>2. Karbohydratene rundt \u00f8ktene<\/h4>\n    <div class=\"meta\">Riktig makro til riktig tid<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Legg det meste av karbohydratene dine f\u00f8r og etter treningen: ytelse i \u00f8kten, restitusjon etterp\u00e5. P\u00e5 hviledager g\u00e5r de naturlig ned.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>3. Fettet uten \u00e5 jakte p\u00e5 det<\/h4>\n    <div class=\"meta\">Gulvet fyller seg selv<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Matolje, egg, fet fisk, n\u00f8tter: gulvet p\u00e5 20-25&nbsp;% fylles uten anstrengelse i et normalt kosthold. Pass bare p\u00e5 at det ikke kollapser i aggressiv deff.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>4. Presisjon p\u00e5 trenden, ikke p\u00e5 dagen<\/h4>\n    <div class=\"meta\">Ukesgjennomsnittet gir resultatet<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">En dag med &plusmn;20&nbsp;g endrer ingenting; en uke systematisk ved siden av gj\u00f8r det. Se p\u00e5 7-dagers gjennomsnittet ditt, og juster i sm\u00e5 trinn p\u00e5 10-15&nbsp;g.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"bodyscan-illust\" style=\"margin:40px auto 8px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:220px\">\n  <div class=\"mini-phone\" style=\"max-width:200px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,#2a2a2a,#0e0e0e);box-shadow:0 18px 36px rgba(0,0,0,.14);position:relative\">\n    <div class=\"notch\" style=\"position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:11px;background:#0a0a0a;border-radius:0 0 7px 7px;z-index:5\"><\/div>\n    <div class=\"scr\" style=\"border-radius:18px;overflow:hidden;background:#FAF0E6;aspect-ratio:9\/19.5\"><img src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp\" alt=\"\u00c9cran Bilan de Lean : balance calorique et macros du jour en un regard\" width=\"200\" height=\"433\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;object-fit:cover;display:block\"><\/div>\n  <\/div>\n  <div class=\"bodyscan-cap\" style=\"font-size:13px;color:#6E6E73;text-align:center;line-height:1.5\"><b style=\"display:block;color:#0E0E10;font-weight:600;margin-bottom:3px\">Oversikten med ett blikk<\/b>Kaloribalanse og dagens makroer: trenden leses, den gjettes ikke.<\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  En nyttig p\u00e5minnelse fra v\u00e5r <a href=\"https:\/\/lean-app.com\/no\/etude-base-donnees-calories\/\">studie av databasene<\/a> : mer enn \u00e9n av fem oppf\u00f8ringer er inkonsistent p\u00e5 proteinbarer. Etter en skanning, sjekk at makroene stemmer med kaloriene.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">06 &middot; Myte vs virkelighet<\/span>\u00ab40\/40\/20\u00bb og frykten for karbohydrater<\/h2>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">0<span>studie<\/span><\/div><div class=\"kl\">ligger til grunn for det universelle \u00ab40\/40\/20\u00bb: det er en coach-bekvemmelighet, ikke en vitenskapelig anbefaling<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">&asymp;<span>ved like kcal<\/span><\/div><div class=\"kl\">ved like kalorier og proteiner endrer andelen karbohydrater\/fett lite p\u00e5 fettapet: underskuddet avgj\u00f8r (Kerksick 2018)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">2&times;4<span>+1&times;9<\/span><\/div><div class=\"kl\">4 kcal\/g for proteiner og karbohydrater, 9 for fett: aritmetikken som gj\u00f8r prosentandeler misvisende<\/div><\/div>\n<\/div>\n\n<div class=\"mvr\">\n  <div class=\"mv myth\">\n    <div class=\"tag\">Myten<\/div>\n    <h4>\u00abDet finnes en magisk fordeling, og karbohydrater gj\u00f8r deg feit\u00bb<\/h4>\n    <p>\u00ab40\/40\/20\u00bb (eller dagens low carb-variant) lover en universell fordeling. Men en prosentandel betyr ingenting uten totalen: 40&nbsp;% protein for en person p\u00e5 55&nbsp;kg p\u00e5 vedlikehold og for en mann p\u00e5 100&nbsp;kg i deff er to virkeligheter uten sammenheng. Og karbohydrater \u00absom gj\u00f8r deg feit\u00bb: ved like kalorier og proteiner viser sammenlignende studier ingen systematisk fordel for low carb p\u00e5 fettap (ISSN-oversikt, Kerksick 2018). Det er underskuddet som gir vekttap, ikke jakten p\u00e5 \u00e9n makro.<\/p>\n  <\/div>\n  <div class=\"mv real\">\n    <div class=\"tag\">Den m\u00e5lte virkeligheten<\/div>\n    <h4>Gram rangert p\u00e5 DITT forbruk<\/h4>\n    <p>Sekvensen som holder: et kaloritotal rekonstruert p\u00e5 m\u00e5lingene dine, proteiner fastsatt p\u00e5 den fettfrie massen din, et fettgulv for hormonene, og karbohydratene som tar resten, plassert rundt \u00f8ktene dine. Fordelingen din endres n\u00e5r kroppen eller m\u00e5let ditt endres, ikke n\u00e5r moten endres.<\/p>\n    <p>Valget low carb er fortsatt mulig av personlig preferanse (metthet, ford\u00f8yelseskomfort): s\u00e5 lenge proteiner og kalorier er p\u00e5 plass, er det et sp\u00f8rsm\u00e5l om smak, ikke fysiologi. Denne kalkulatoren gir den balanserte versjonen; du st\u00e5r fritt til \u00e5 flytte karbohydrater til fett hvis du holder det bedre.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Den praktiske konsekvensen: velg fordelingen du kan holde i 12 uker, ikke 12 dager. Etterlevelse sl\u00e5r optimalisering, det er for\u00f8vrig f\u00f8rste etasje i Progresjonspyramiden i appen: etterlevelse &gt; kalorim\u00e5l &gt; resten.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  For \u00e5 plassere makroene dine i det komplette forbruket ditt: <a href=\"https:\/\/lean-app.com\/no\/calculateur-tdee\/\">calculateur TDEE<\/a> og guiden <a href=\"https:\/\/lean-app.com\/no\/calculer-vraie-depense-calorique\/\">beregne det reelle kaloriforbruket ditt<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">07 &middot; FAQ<\/span>Alt du lurer p\u00e5 om makroer<\/h2>\n<details class=\"faq\"><summary>Hvordan beregner man makroene sine&nbsp;?<\/summary><div class=\"faq-body\"><p>I rekkef\u00f8lge: beregn f\u00f8rst forbruket ditt p\u00e5 m\u00e5lingene dine (fettfri masse, reelle skritt), bruk m\u00e5let ditt (underskudd, vedlikehold eller overskudd), og fordel deretter: proteiner i gram p\u00e5 den fettfrie massen din, fett p\u00e5 20-30 % av kaloriene, og karbohydratene tar alt det andre. Det er n\u00f8yaktig det kalkulatoren p\u00e5 denne siden gj\u00f8r, med formlene vist.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Hva er en god makrofordeling for \u00e5 deffe&nbsp;?<\/summary><div class=\"faq-body\"><p>Det finnes ingen magisk prosentandel: i deff stiger proteinene (2,3 til 3,1 g per kilo fettfri masse, Helms 2014), fettet holder gulvet sitt p\u00e5 20-25 % av kaloriene, og karbohydratene tar underskuddet. Faller karbohydratene dine under ~1 g\/kg, er underskuddet ditt trolig for aggressivt: hev m\u00e5let i stedet for \u00e5 bryte fordelingen din.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Er 40\/40\/20 gyldig&nbsp;?<\/summary><div class=\"faq-body\"><p>Det er en mnemoteknisk bekvemmelighet, ikke en vitenskapelig anbefaling. To problemer: prosentandelene betyr ingenting uten kaloritotalen, og de kobler proteinene fra den fettfrie massen de skal n\u00e6re. N\u00e5r det er sagt, for noen profiler havner 40\/40\/20 tilfeldigvis n\u00e6r riktig svar: denne kalkulatoren forteller deg om det er tilfellet for deg.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Gj\u00f8r karbohydrater deg feit&nbsp;?<\/summary><div class=\"faq-body\"><p>Nei: kalorioverskuddet gj\u00f8r deg feit, uansett hvilken makro som b\u00e6rer det. Ved like kalorier og proteiner viser sammenligningene low carb vs high carb ingen systematisk forskjell i fettap (Kerksick 2018). Karbohydrater har til og med en n\u00f8kkelrolle for treningen: ytelse, restitusjon og opprettholdelse av intensitet i underskudd.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Trenger man dager med mer karbohydrater&nbsp;?<\/summary><div class=\"faq-body\"><p>Den enkle og robuste versjonen: legg til \u00f8ktkaloriene dine i karbohydrater p\u00e5 treningsdager, og hold deg til basen din p\u00e5 hviledager. Mer sofistikert \u00absykling\u00bb (planlagte h\u00f8ye\/lave dager) kan hjelpe etterlevelsen hos noen, men skaper ingen metabolsk magi: uketotalen forblir dommeren.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Hvor mye fett minimum per dag&nbsp;?<\/summary><div class=\"faq-body\"><p>Den praktiske referansen: g\u00e5 ikke varig under 20 % av kaloriene dine (Helms 2014), alts\u00e5 omtrent 0,5 til 0,6 g per kilo kroppsvekt for de fleste profiler. Fett b\u00e6rer hormonproduksjonen og opptaket av fettl\u00f8selige vitaminer: det er et helsegulv, ikke en optimaliseringsvariabel.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Hvorfor er ikke \u00f8ktene mine med i beregningen&nbsp;?<\/summary><div class=\"faq-body\"><p>Fordi de varierer for mye fra dag til dag til \u00e5 leve i et gjennomsnitt. Kalkulatoren gir basen din utenom trening (BMR + NEAT + TEF); \u00f8ktene dine (EAT) legges opp\u00e5, i karbohydrater, de dagene de finner sted. Det er mer presist enn en multiplikator som jevner ut uken din, og det er n\u00f8yaktig slik appen teller: hver sporet \u00f8kt legges til dagen den finnes.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>M\u00e5 jeg veie all maten min&nbsp;?<\/summary><div class=\"faq-body\"><p>I starten kalibrerer det \u00e5 veie hovedkildene (stivelsesrike matvarer, kj\u00f8tt, fett) i 2-3 uker \u00f8yet ditt: deretter holder skanning og anslag for de fleste m\u00e5ltider, med en rekalibreringsveiing n\u00e5 og da. Presisjon p\u00e5 grammet er bare n\u00f8dvendig p\u00e5 proteinene og helt p\u00e5 slutten av deffen.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Endres makroene mine hvis vekten min endres&nbsp;?<\/summary><div class=\"faq-body\"><p>Ja, dobbelt: vekten og sammensetningen din beveger seg (alts\u00e5 fettfri masse og proteiner), og forbruket ditt beveger seg med (alts\u00e5 kalorier og karbohydrater). Beregn p\u00e5 nytt hver 3.-4. uke, eller la appen gj\u00f8re det kontinuerlig: det er en av rollene dens, BMR beregnet p\u00e5 nytt p\u00e5 m\u00e5lt fettprosent og m\u00e5l justert hver dag.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Gir denne kalkulatoren en eksakt forskrift&nbsp;?<\/summary><div class=\"faq-body\"><p>Nei: et solid utgangspunkt, basert p\u00e5 publisert konsensus og m\u00e5lingene dine. Det individuelle optimumet justeres p\u00e5 de reelle resultatene dine (vekt, fettprosent, ytelse) gjennom ukene. Og som alltid: ved sykdom eller medisinsk tvil, s\u00f8k profesjonelle r\u00e5d f\u00f8r du endrer kostholdet ditt.<\/p><\/div><\/details>\n\n<div class=\"sources\">\n  <h4>Vitenskapelige kilder<\/h4>\n  <ol>\n    <li>Helms ER, Aragon AA, Fitschen PJ. Evidence-based recommendations for natural bodybuilding contest preparation: nutrition and supplementation. J Int Soc Sports Nutr. 2014;11:20. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/24864135\/\" target=\"_blank\" rel=\"noopener\">PubMed 24864135<\/a>.<\/li>\n    <li>Kerksick CM, Wilborn CD, Roberts MD, et al. ISSN exercise &amp; sports nutrition review update: research &amp; recommendations. J Int Soc Sports Nutr. 2018;15(1):38. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/30068354\/\" target=\"_blank\" rel=\"noopener\">PubMed 30068354<\/a>.<\/li>\n    <li>Morton RW, Murphy KT, McKellar SR, et al. A systematic review, meta-analysis and meta-regression of the effect of protein supplementation on resistance training-induced gains in muscle mass and strength. Br J Sports Med. 2018;52(6):376-384. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/28698222\/\" target=\"_blank\" rel=\"noopener\">PubMed 28698222<\/a>.<\/li>\n    <li>Phillips SM, Van Loon LJ. Dietary protein for athletes: from requirements to optimum adaptation. J Sports Sci. 2011;29 Suppl 1:S29-38. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/22150425\/\" target=\"_blank\" rel=\"noopener\">PubMed 22150425<\/a>.<\/li>\n    <li>Ainsworth BE, Haskell WL, Herrmann SD, et al. 2011 Compendium of Physical Activities: a second update of codes and MET values. Med Sci Sports Exerc. 2011;43(8):1575-81. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21681120\/\" target=\"_blank\" rel=\"noopener\">PubMed 21681120<\/a>.<\/li>\n  <\/ol>\n<\/div>\n\n<div class=\"get-band\">\n  <h3>Makroene dine, telt uten anstrengelse<\/h3>\n  <p>Tre tellere som fylles ved hver logget matvare, et forbruk som beveger seg med skrittene dine, et m\u00e5l beregnet kontinuerlig p\u00e5 nytt p\u00e5 den m\u00e5lte fettprosenten din. Fordelingen p\u00e5 denne siden, levende i lommen din. Gratis nedlasting, 7&nbsp;dagers pr\u00f8veperiode p\u00e5 \u00e5rsabonnementet.<\/p>\n  <div class=\"stores\">\n    <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646?utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-appstore-official.webp\" alt=\"T\u00e9l\u00e9charger sur l'App Store\" loading=\"lazy\"><\/a>\n    <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite&#038;utm_source=seo&#038;utm_medium=blog&#038;utm_campaign=calc-macros\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-googleplay-official.webp\" alt=\"Disponible sur Google Play\" loading=\"lazy\"><\/a>\n  <\/div>\n<\/div>\n<\/main>\n<\/div>\n\n<script data-wpmeteor-nooptimize=\"true\" type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-macros\/#article\",\n      \"headline\": \"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides sur tes mesures\",\n      \"description\": \"Calcule ta r\u00e9partition de macros en grammes : prot\u00e9ines sur ta masse maigre, lipides en plancher hormonal, glucides selon ta d\u00e9pense r\u00e9elle. Sourc\u00e9 et gratuit.\",\n      \"inLanguage\": \"fr-FR\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"L'\u00e9quipe Lean\",\n        \"url\": \"https:\/\/lean-app.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Lean\",\n        \"url\": \"https:\/\/lean-app.com\/\"\n      },\n      \"datePublished\": \"2026-08-27\",\n      \"dateModified\": \"2026-08-27\",\n      \"mainEntityOfPage\": \"https:\/\/lean-app.com\/calculateur-macros\/\"\n    },\n    {\n      \"@type\": \"WebApplication\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-macros\/#calculator\",\n      \"name\": \"Calculateur de macros (P, G, L)\",\n      \"applicationCategory\": \"HealthApplication\",\n      \"operatingSystem\": \"Web\",\n      \"url\": \"https:\/\/lean-app.com\/calculateur-macros\/\",\n      \"description\": \"R\u00e9partit tes calories en prot\u00e9ines, glucides et lipides \u00e0 partir de tes mesures (masse maigre, pas r\u00e9els) et de ton objectif.\"\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-macros\/#breadcrumb\",\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"Accueil\",\n          \"item\": \"https:\/\/lean-app.com\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"Calculateurs\",\n          \"item\": \"https:\/\/lean-app.com\/calculateurs\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 3,\n          \"name\": \"Calculateur macros\",\n          \"item\": \"https:\/\/lean-app.com\/calculateur-macros\/\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/lean-app.com\/calculateur-macros\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Comment calculer ses macros ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Dans l'ordre : d\u00e9pense calcul\u00e9e sur tes mesures, objectif appliqu\u00e9, puis prot\u00e9ines en grammes sur la masse maigre, lipides \u00e0 20-30 % des calories, glucides sur le reste.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Le 40\/40\/20, c'est valable ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"C'est une commodit\u00e9 mn\u00e9motechnique, pas une recommandation scientifique : les pourcentages ne veulent rien dire sans le total calorique, et ils d\u00e9connectent les prot\u00e9ines de la masse maigre.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Les glucides font-ils grossir ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Non : le surplus calorique fait grossir. \u00c0 calories et prot\u00e9ines \u00e9gales, low carb et high carb donnent des pertes de gras comparables (Kerksick 2018).\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Combien de lipides minimum par jour ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ne descends pas durablement sous 20 % de tes calories (Helms 2014), soit environ 0,5 \u00e0 0,6 g par kilo de poids : les lipides portent la production hormonale.\"\n          }\n        }\n      ]\n    },\n    {\n      \"@type\": \"MobileApplication\",\n      \"@id\": \"https:\/\/lean-app.com\/#app\",\n      \"name\": \"Lean\",\n      \"operatingSystem\": \"iOS, Android\",\n      \"applicationCategory\": \"HealthApplication\",\n      \"url\": \"https:\/\/lean-app.com\/\",\n      \"downloadUrl\": [\n        \"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podometre\/id6738668646\",\n        \"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\"\n      ]\n    }\n  ]\n}\n<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">(function(){\n  var phoneImg = document.getElementById('phoneImg');\n  var phoneBack = document.getElementById('phoneBack');\n  var zones = document.getElementById('phoneZones');\n  var topTabs = document.querySelectorAll('.phone-tabs button');\n  var navTaps = document.querySelectorAll('.phone-navbar button');\n\n  var tabMap = {\n    bilan:    {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_bilan.webp',     drill:false},\n    kcal:     {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_kcal.webp',      drill:false},\n    depense:  {src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_depense.webp',   drill:true},\n    strategie:{src:'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_strategie.webp', drill:false}\n  };\n  var subMap = {\n    BMR:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_BMR.webp',\n    NEAT: 'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_NEAT.webp',\n    EAT:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_EAT.webp',\n    TEF:  'https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-screen_TEF.webp'\n  };\n  var currentTab = 'depense';\n\n  function setActive(tab){\n    topTabs.forEach(function(b){ b.classList.toggle('on', b.dataset.tab===tab); });\n  }\n  function showTab(tab){\n    var t = tabMap[tab]; if(!t) return;\n    currentTab = tab;\n    phoneImg.style.opacity = 0;\n    setTimeout(function(){\n      phoneImg.className = 'phone-bg tab-' + tab;\n      phoneImg.style.opacity = 1;\n      zones.style.display = t.drill ? 'block' : 'none';\n      phoneBack.classList.remove('on');\n    }, 150);\n    setActive(tab);\n  }\n  function showSub(sub){\n    var src = subMap[sub]; if(!src) return;\n    phoneImg.style.opacity = 0;\n    setTimeout(function(){\n      phoneImg.className = 'phone-bg sub-' + sub;\n      phoneImg.style.opacity = 1;\n      zones.style.display = 'none';\n      phoneBack.classList.add('on');\n    }, 150);\n  }\n\n  var hintD = document.getElementById('tapHintDesktop');\n  var hintM = document.getElementById('tapHintMobile');\n  function hideHints(){\n    if (hintD) hintD.classList.add('hidden');\n    if (hintM) hintM.classList.add('hidden');\n  }\n\n  topTabs.forEach(function(b){ b.addEventListener('click', function(){ hideHints(); showTab(b.dataset.tab); }); });\n  navTaps.forEach(function(b){ b.addEventListener('click', function(){ hideHints(); showTab(b.dataset.tab); }); });\n  zones.querySelectorAll('.z').forEach(function(z){\n    z.addEventListener('click', function(){ hideHints(); showSub(z.dataset.sub); });\n    z.addEventListener('keydown', function(e){\n      if (e.key==='Enter' || e.key===' ') { e.preventDefault(); hideHints(); showSub(z.dataset.sub); }\n    });\n  });\n  phoneBack.addEventListener('click', function(){ hideHints(); showTab(currentTab); });\n})();<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">window.__LEAN_T = {\" pas\": {\"de\": \" Schritte\", \"es\": \" pasos\", \"pt\": \" passos\"}, \"Fourchettes usuelles pour une femme : 18 \u00e0 32\u202f%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.\": {\"de\": \"\u00dcbliche Bereiche f\u00fcr Frauen: 18 bis 32 %. Miss es per Ma\u00dfband mit unserem K\u00f6rperfett-Rechner oder per Foto mit dem BodyScan.\", \"es\": \"Rangos habituales para una mujer: 18 a 32 %. M\u00eddelo con cinta con nuestra calculadora de grasa corporal, o con foto con el BodyScan.\", \"pt\": \"Faixas habituais para uma mulher: 18 a 32 %. Me\u00e7a com fita com nossa calculadora de gordura corporal, ou com foto com o BodyScan.\"}, \"Fourchettes usuelles pour un homme : 10 \u00e0 25\u202f%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.\": {\"de\": \"\u00dcbliche Bereiche f\u00fcr M\u00e4nner: 10 bis 25 %. Miss es per Ma\u00dfband mit unserem K\u00f6rperfett-Rechner oder per Foto mit dem BodyScan.\", \"es\": \"Rangos habituales para un hombre: 10 a 25 %. M\u00eddelo con cinta con nuestra calculadora de grasa corporal, o con foto con el BodyScan.\", \"pt\": \"Faixas habituais para um homem: 10 a 25 %. Me\u00e7a com fita com nossa calculadora de gordura corporal, ou com foto com o BodyScan.\"}, \"En s\u00e8che : objectif \u00e0 80\u202f% de ta d\u00e9pense hors sport, prot\u00e9ines en haut de fourchette.\": {\"de\": \"Di\u00e4t: Ziel bei 80 % deines Verbrauchs au\u00dferhalb des Sports, Protein am oberen Ende des Bereichs.\", \"es\": \"Definici\u00f3n: objetivo al 80 % de tu gasto sin deporte, prote\u00ednas en la parte alta del rango.\", \"pt\": \"Cutting: alvo a 80 % do seu gasto sem esporte, prote\u00ednas no topo da faixa.\"}, \"En maintien : objectif \u00e9gal \u00e0 ta d\u00e9pense hors sport, s\u00e9ances en plus les jours d\u2019entra\u00eenement.\": {\"de\": \"Erhalt: Ziel gleich deinem Verbrauch au\u00dferhalb des Sports, Einheiten an Trainingstagen zus\u00e4tzlich.\", \"es\": \"Mantenimiento: objetivo igual a tu gasto sin deporte, sesiones extra los d\u00edas de entrenamiento.\", \"pt\": \"Manuten\u00e7\u00e3o: alvo igual ao seu gasto sem esporte, treinos extras nos dias de treino.\"}, \"En prise : surplus mod\u00e9r\u00e9 de 10\u202f%, l\u2019essentiel du suppl\u00e9ment part dans les glucides.\": {\"de\": \"Aufbau: moderater \u00dcberschuss von 10 %, das Gros des Extras geht in die Kohlenhydrate.\", \"es\": \"Volumen: excedente moderado del 10 %, el grueso del extra va a los carbohidratos.\", \"pt\": \"Bulking: excedente moderado de 10 %, o grosso do extra vai para os carboidratos.\"}, \"Objectif s\u00e8che\": {\"de\": \"Ziel Di\u00e4t\", \"es\": \"Objetivo definici\u00f3n\", \"pt\": \"Objetivo cutting\"}, \"Objectif maintien\": {\"de\": \"Ziel Erhalt\", \"es\": \"Objetivo mantenimiento\", \"pt\": \"Objetivo manuten\u00e7\u00e3o\"}, \"Objectif prise de muscle\": {\"de\": \"Ziel Muskelaufbau\", \"es\": \"Objetivo ganancia muscular\", \"pt\": \"Objetivo ganho muscular\"}, \"En s\u00e8che : les glucides restants sont ton budget de performance\": {\"de\": \"In der Di\u00e4t: Die verbleibenden Kohlenhydrate sind dein Leistungsbudget\", \"es\": \"En definici\u00f3n: los carbohidratos restantes son tu presupuesto de rendimiento\", \"pt\": \"No cutting: os carboidratos restantes s\u00e3o seu or\u00e7amento de desempenho\"}, \"Prot\u00e9ines et lipides sont sanctuaris\u00e9s ; les glucides encaissent le d\u00e9ficit. Place-les autour de tes s\u00e9ances (avant et apr\u00e8s), et les jours d\u2019entra\u00eenement dur, ajoute tes calories de s\u00e9ance en glucides plut\u00f4t que de creuser le d\u00e9ficit. Si les glucides descendent sous ~1 g\/kg, ton d\u00e9ficit est probablement trop agressif : remonte l\u2019objectif d\u2019un cran.\": {\"de\": \"Protein und Fett sind unantastbar; die Kohlenhydrate schlucken das Defizit. Platziere sie rund um deine Einheiten (davor und danach), und f\u00fcge an harten Trainingstagen deine Einheitskalorien als Kohlenhydrate hinzu, statt das Defizit zu vertiefen. Fallen die Kohlenhydrate unter ~1 g\/kg, ist dein Defizit wahrscheinlich zu aggressiv: Geh mit dem Ziel eine Stufe hoch.\", \"es\": \"Prote\u00ednas y grasas son intocables; los carbohidratos absorben el d\u00e9ficit. Col\u00f3calos alrededor de tus sesiones (antes y despu\u00e9s), y los d\u00edas de entrenamiento duro, a\u00f1ade tus calor\u00edas de sesi\u00f3n como carbohidratos en vez de ahondar el d\u00e9ficit. Si los carbohidratos bajan de ~1 g\/kg, tu d\u00e9ficit probablemente es demasiado agresivo: sube el objetivo un escal\u00f3n.\", \"pt\": \"Prote\u00ednas e gorduras s\u00e3o intoc\u00e1veis; os carboidratos absorvem o d\u00e9ficit. Coloque-os em torno dos seus treinos (antes e depois), e nos dias de treino pesado, adicione suas calorias de treino como carboidratos em vez de aprofundar o d\u00e9ficit. Se os carboidratos caem abaixo de ~1 g\/kg, seu d\u00e9ficit provavelmente est\u00e1 agressivo demais: suba o alvo um degrau.\"}, \"En maintien : la r\u00e9partition qui se tient toute seule\": {\"de\": \"Im Erhalt: die Verteilung, die sich von selbst h\u00e4lt\", \"es\": \"En mantenimiento: el reparto que se sostiene solo\", \"pt\": \"Na manuten\u00e7\u00e3o: a distribui\u00e7\u00e3o que se sustenta sozinha\"}, \"\u00c0 ce niveau, ta r\u00e9partition est confortable : une source de prot\u00e9ines par repas, des lipides sans les traquer, et des glucides qui suivent ta faim et ton entra\u00eenement. Le vrai enjeu est la r\u00e9gularit\u00e9 du week-end, o\u00f9 les macros d\u00e9rivent sans qu\u2019on le voie. Un tracking l\u00e9ger suffit \u00e0 garder le cap.\": {\"de\": \"Auf diesem Niveau ist deine Verteilung komfortabel: eine Proteinquelle pro Mahlzeit, Fett ohne Jagd darauf, und Kohlenhydrate, die deinem Hunger und deinem Training folgen. Die echte Herausforderung ist die Konstanz am Wochenende, wo die Makros unbemerkt driften. Leichtes Tracking gen\u00fcgt, um Kurs zu halten.\", \"es\": \"En este nivel, tu reparto es c\u00f3modo: una fuente de prote\u00edna por comida, grasas sin perseguirlas, y carbohidratos que siguen tu hambre y tu entrenamiento. El verdadero reto es la regularidad del fin de semana, donde los macros derivan sin verse. Un tracking ligero basta para mantener el rumbo.\", \"pt\": \"Neste n\u00edvel, sua distribui\u00e7\u00e3o \u00e9 confort\u00e1vel: uma fonte de prote\u00edna por refei\u00e7\u00e3o, gorduras sem persegui-las, e carboidratos que seguem sua fome e seu treino. O verdadeiro desafio \u00e9 a regularidade do fim de semana, quando os macros derivam sem se ver. Um tracking leve basta para manter o rumo.\"}, \"En prise : le surplus va dans les glucides, pas dans le gras alimentaire\": {\"de\": \"Im Aufbau: Der \u00dcberschuss geht in die Kohlenhydrate, nicht ins Nahrungsfett\", \"es\": \"En volumen: el excedente va a los carbohidratos, no a la grasa alimentaria\", \"pt\": \"No bulking: o excedente vai para os carboidratos, n\u00e3o para a gordura alimentar\"}, \"Ton surplus de 10\u202f% est volontairement mod\u00e9r\u00e9 : au-del\u00e0, on stocke plus de gras sans construire plus de muscle. Les prot\u00e9ines n\u2019ont pas besoin de monter (Morton 2018) : le suppl\u00e9ment part dans les glucides autour des s\u00e9ances, o\u00f9 il sert ta progression. Re-mesure ton bodyfat toutes les 4 semaines pour v\u00e9rifier que la prise reste propre.\": {\"de\": \"Dein \u00dcberschuss von 10 % ist bewusst moderat: Dar\u00fcber hinaus speichert man mehr Fett, ohne mehr Muskel aufzubauen. Das Protein muss nicht steigen (Morton 2018): Das Extra geht in die Kohlenhydrate rund um die Einheiten, wo es deiner Progression dient. Miss dein K\u00f6rperfett alle 4 Wochen neu, um zu pr\u00fcfen, dass der Aufbau sauber bleibt.\", \"es\": \"Tu excedente del 10 % es deliberadamente moderado: m\u00e1s all\u00e1, se almacena m\u00e1s grasa sin construir m\u00e1s m\u00fasculo. Las prote\u00ednas no necesitan subir (Morton 2018): el extra va a los carbohidratos alrededor de las sesiones, donde sirve a tu progresi\u00f3n. Vuelve a medir tu grasa corporal cada 4 semanas para verificar que el volumen sigue limpio.\", \"pt\": \"Seu excedente de 10 % \u00e9 deliberadamente moderado: al\u00e9m disso, armazena-se mais gordura sem construir mais m\u00fasculo. As prote\u00ednas n\u00e3o precisam subir (Morton 2018): o extra vai para os carboidratos em torno dos treinos, onde serve \u00e0 sua progress\u00e3o. Me\u00e7a de novo sua gordura corporal a cada 4 semanas para verificar que o bulking continua limpo.\"}, \" Apr\u00e8s 50 ans, garde les prot\u00e9ines en haut de fourchette : la r\u00e9sistance anabolique augmente les besoins par prise.\": {\"de\": \" Ab 50 halte das Protein am oberen Ende des Bereichs: Anabole Resistenz erh\u00f6ht den Bedarf pro Mahlzeit.\", \"es\": \" A partir de los 50, mant\u00e9n las prote\u00ednas en la parte alta del rango: la resistencia anab\u00f3lica aumenta las necesidades por toma.\", \"pt\": \" Depois dos 50, mantenha as prote\u00ednas no topo da faixa: a resist\u00eancia anab\u00f3lica aumenta as necessidades por refei\u00e7\u00e3o.\"}};<\/script>\n<script data-wpmeteor-nooptimize=\"true\">\n(function(){\n  \/\/ ============================================================\n  \/\/ Repartition des macros : ESTIMATION PEDAGOGIQUE. Ordre P -> G -> L.\n  \/\/ Depense : memes formules que le calculateur TDEE live (BMR 370+21.6xFFM,\n  \/\/ NEAT = BMR x pas\/48000, TEF = X\/9). Sources : Helms 2014 (24864135,\n  \/\/ lipides 20-30% kcal), Morton 2018 (28698222), Kerksick 2018 (30068354).\n  \/\/ ============================================================\n  var LEAN_L = (location.pathname.match(\/^\\\/(en|es|pt|de)\\\/\/) || [0,'fr'])[1];\n  var LEAN_LANG = LEAN_L === 'en' ? 'en' : 'fr';\n  function T(fr,en){\n    if (LEAN_L === 'en') return en;\n    if (LEAN_L === 'fr') return fr;\n    var m = window.__LEAN_T && window.__LEAN_T[fr];\n    return (m && m[LEAN_L]) || fr;\n  }\n  function byId(id){ return document.getElementById(id); }\n  function getSex(){\n    var r = document.querySelector('input[name=sex]:checked');\n    return r ? r.value : 'M';\n  }\n  function fmt(n){ return LEAN_LANG==='en' ? Math.round(n).toLocaleString('en-US') : Math.round(n).toLocaleString('fr-FR'); }\n  function fmt3(n){ return n.toLocaleString(LEAN_LANG==='en'?'en-US':'fr-FR', {minimumFractionDigits:3, maximumFractionDigits:3}); }\n  function fmt1(n){ return n.toLocaleString(LEAN_LANG==='en'?'en-US':'fr-FR', {minimumFractionDigits:1, maximumFractionDigits:1}); }\n  function clamp(v, lo, hi){ return Math.max(lo, Math.min(hi, v)); }\n  function compute(){\n    var sex = getSex();\n    var age = parseFloat(byId('cAge').value) || 0;\n    var w = parseFloat(byId('cWeight').value) || 0;\n    var h = parseFloat(byId('cHeight').value) || 0;\n    var bf = parseFloat(byId('cBodyfat').value) || 0;\n    var steps = parseFloat(byId('cSteps').value) || 0;\n    var goalEl = document.querySelector('input[name=goal]:checked');\n    var goal = goalEl ? goalEl.value : 'cut';\n    byId('bfVal').innerHTML = String(bf).replace('.', ',') + '\\u202F%';\n    byId('stepsVal').textContent = fmt(steps) + T(' pas', ' steps');\n    byId('bfHint').textContent = (sex === 'F')\n      ? T('Fourchettes usuelles pour une femme : 18 \u00e0 32\\u202F%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.','Typical ranges for a woman: 18 to 32%. Measure it with our body fat calculator (tape) or the BodyScan photo.')\n      : T('Fourchettes usuelles pour un homme : 10 \u00e0 25\\u202F%. Mesure-le au ruban avec notre calculateur de masse grasse, ou en photo avec le BodyScan.','Typical ranges for a man: 10 to 25%. Measure it with our body fat calculator (tape) or the BodyScan photo.');\n    byId('goalHint').textContent = (goal === 'cut')\n      ? T('En s\u00e8che : objectif \u00e0 80\\u202F% de ta d\u00e9pense hors sport, prot\u00e9ines en haut de fourchette.','Cutting: target at 80% of your non-exercise expenditure, protein at the top of the range.')\n      : (goal === 'maintain'\n        ? T('En maintien : objectif \u00e9gal \u00e0 ta d\u00e9pense hors sport, s\u00e9ances en plus les jours d\\u2019entra\u00eenement.','Maintenance: target equals your non-exercise expenditure, sessions added on training days.')\n        : T('En prise : surplus mod\u00e9r\u00e9 de 10\\u202F%, l\\u2019essentiel du suppl\u00e9ment part dans les glucides.','Bulking: a moderate 10% surplus, most of the extra goes into carbs.'));\n    if (!w || !h) return;\n    var ffm = w * (1 - bf \/ 100);\n    var bmr = 370 + 21.6 * ffm;\n    var neat = bmr * steps \/ 48000;\n    var x = bmr + neat;\n    var tef = x \/ 9;\n    var tdee = x + tef;\n    var factor = (goal === 'cut') ? 0.80 : (goal === 'maintain' ? 1.0 : 1.10);\n    var kcal = tdee * factor;\n    \/\/ P -> G -> L : proteines d abord (milieu de fourchette du calculateur proteines)\n    var pk = (goal === 'cut') ? 2.7 : (goal === 'maintain' ? 2.0 : 1.9);\n    var P = Math.round(ffm * pk);\n    var L = Math.round(kcal * 0.25 \/ 9);\n    var G = Math.round((kcal - P * 4 - L * 9) \/ 4);\n    if (G < 0) G = 0;\n    byId('rKcal').textContent = fmt(Math.round(kcal));\n    byId('kcalBar').style.width = clamp(kcal \/ 3200 * 100, 8, 100) + '%';\n    var pill = byId('kcalPill');\n    pill.className = 'neat-pill ok';\n    pill.textContent = (goal === 'cut') ? T('Objectif s\u00e8che','Cutting target') : (goal === 'maintain' ? T('Objectif maintien','Maintenance target') : T('Objectif prise de muscle','Muscle gain target'));\n    byId('rP').textContent = fmt(P);\n    byId('rP4').textContent = fmt(P * 4);\n    byId('rG').textContent = fmt(G);\n    byId('rG4').textContent = fmt(G * 4);\n    byId('rL').textContent = fmt(L);\n    byId('rL9').textContent = fmt(L * 9);\n    byId('shareBar').style.width = '25%';\n    byId('dPkg').textContent = (P \/ w).toFixed(1).replace('.', ',');\n    byId('dGkg').textContent = (G \/ w).toFixed(1).replace('.', ',');\n    byId('dLkg').textContent = (L \/ w).toFixed(1).replace('.', ',');\n    var title = byId('recoTitle');\n    var body = byId('recoBody');\n    if (goal === 'cut') {\n      title.textContent = T('En s\u00e8che : les glucides restants sont ton budget de performance','Cutting: the remaining carbs are your performance budget');\n      body.textContent = T('Prot\u00e9ines et lipides sont sanctuaris\u00e9s ; les glucides encaissent le d\u00e9ficit. Place-les autour de tes s\u00e9ances (avant et apr\u00e8s), et les jours d\\u2019entra\u00eenement dur, ajoute tes calories de s\u00e9ance en glucides plut\u00f4t que de creuser le d\u00e9ficit. Si les glucides descendent sous ~1 g\/kg, ton d\u00e9ficit est probablement trop agressif : remonte l\\u2019objectif d\\u2019un cran.','Protein and fat are protected; carbs absorb the deficit. Place them around your sessions (before and after), and on hard training days, add your session calories as carbs rather than deepening the deficit. If carbs drop below ~1 g\/kg, your deficit is probably too aggressive: ease the target up a notch.');\n    } else if (goal === 'maintain') {\n      title.textContent = T('En maintien : la r\u00e9partition qui se tient toute seule','Maintenance: the split that holds by itself');\n      body.textContent = T('\u00c0 ce niveau, ta r\u00e9partition est confortable : une source de prot\u00e9ines par repas, des lipides sans les traquer, et des glucides qui suivent ta faim et ton entra\u00eenement. Le vrai enjeu est la r\u00e9gularit\u00e9 du week-end, o\u00f9 les macros d\u00e9rivent sans qu\\u2019on le voie. Un tracking l\u00e9ger suffit \u00e0 garder le cap.','At this level, your split is comfortable: a protein source per meal, fats without hunting them, and carbs following your hunger and training. The real stake is weekend consistency, when macros drift unseen. Light tracking is enough to stay on course.');\n    } else {\n      title.textContent = T('En prise : le surplus va dans les glucides, pas dans le gras alimentaire','Bulking: the surplus goes into carbs, not dietary fat');\n      body.textContent = T('Ton surplus de 10\\u202F% est volontairement mod\u00e9r\u00e9 : au-del\u00e0, on stocke plus de gras sans construire plus de muscle. Les prot\u00e9ines n\\u2019ont pas besoin de monter (Morton 2018) : le suppl\u00e9ment part dans les glucides autour des s\u00e9ances, o\u00f9 il sert ta progression. Re-mesure ton bodyfat toutes les 4 semaines pour v\u00e9rifier que la prise reste propre.','Your 10% surplus is deliberately moderate: beyond that, you store more fat without building more muscle. Protein does not need to rise (Morton 2018): the extra goes into carbs around your sessions, where it serves your progression. Re-measure your body fat every 4 weeks to check the gain stays clean.');\n    }\n    if (age >= 50) {\n      body.textContent = body.textContent + T(' Apr\u00e8s 50 ans, garde les prot\u00e9ines en haut de fourchette : la r\u00e9sistance anabolique augmente les besoins par prise.',' After 50, keep protein at the top of the range: anabolic resistance raises per-meal needs.');\n    }\n  }\n  ['cAge','cWeight','cHeight','cBodyfat','cSteps'].forEach(function(id){\n    var el = byId(id);\n    if (el) { el.addEventListener('input', compute); el.addEventListener('change', compute); }\n  });\n  document.querySelectorAll('input[name=sex], input[name=goal]').forEach(function(el){ el.addEventListener('change', compute); });\n  compute();\n  \/\/ ---- popup BodyScan (aide bodyfat), zero lib externe ----\n  var modal = byId('bfModal');\n  function bfOpen(){ modal.classList.add('open'); document.body.style.overflow = 'hidden'; }\n  function bfShut(){ modal.classList.remove('open'); document.body.style.overflow = ''; }\n  if (modal) {\n    byId('bfHelp').addEventListener('click', bfOpen);\n    byId('bfClose').addEventListener('click', bfShut);\n    byId('bfOvl').addEventListener('click', bfShut);\n    document.addEventListener('keydown', function(e){ if (e.key === 'Escape') bfShut(); });\n  }\n})();\n<\/script>\n\n<script data-wpmeteor-nooptimize=\"true\">\n(function(){\n  var shell = document.getElementById('lvm-shell');\n  if (shell) shell.classList.add('force-show');\n})();\n<\/script>\n\n<!-- lean-mesh-draft -->\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;\">\n<p style=\"margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#FF2D6E;\">Les ogs\u00e5<\/p>\n<ul style=\"list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;\">\n<li><a href=\"https:\/\/lean-app.com\/no\/calculateur-proteines\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Proteinkalkulator (p\u00e5 fettfri masse) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Detaljene i den f\u00f8rste byggesteinen: intervaller, fordeling per m\u00e5ltid, ekvivalenter.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/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 (US Navy-metoden) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Trinnet f\u00f8r: m\u00e5l fettprosenten din med m\u00e5leb\u00e5nd for \u00e5 kjenne den fettfrie massen din.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/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;\">Beregning av basalmetabolisme: den mest presise formelen <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Hvorfor BMR-en din beregnes p\u00e5 den fettfrie massen din, ikke p\u00e5 vekten din.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/calculateur-tdee\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Komplett TDEE-kalkulator: BMR + NEAT + EAT + TEF <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Oppdelingen av forbruket ditt, byggestein for byggestein, p\u00e5 den reelle fettprosenten din.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/calculer-vraie-depense-calorique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Slik beregner du det reelle kaloriforbruket ditt <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Den komplette guiden, fra BMR til metabolsk tilpasning, med markedets feller.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/calculateur-adaptation-metabolique\/\" 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 metabolsk tilpasning <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Har BMR-en din bremset, og hvor mye: koeffisient 100 til 0 %.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/no\/depense-energetique-totale-v2\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Totalt energiforbruk: den komplette guiden <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Alt som utgj\u00f8r dine kcal\/dag, fra BMR til matens termiske effekt.<\/span><\/a><\/li>\n<\/ul>\n<\/aside>","protected":false},"excerpt":{"rendered":"<p>Calcule ta r\u00e9partition de macros en grammes : prot\u00e9ines sur ta masse maigre, lipides en plancher hormonal, glucides selon ta d\u00e9pense r\u00e9elle. Sourc\u00e9 et gratuit.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-lvm-blank","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1965","post","type-post","status-publish","format-standard","hentry","category-comparateurs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides - Lean<\/title>\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\/calculateur-macros\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides - Lean\" \/>\n<meta property=\"og:description\" content=\"Calcule ta r\u00e9partition de macros en grammes : prot\u00e9ines sur ta masse maigre, lipides en plancher hormonal, glucides selon ta d\u00e9pense r\u00e9elle. Sourc\u00e9 et gratuit.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/no\/calculateur-macros\/\" \/>\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=\"2026-08-25T13:40:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-05T10:38:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\" \/>\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=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/\"},\"author\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"headline\":\"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides\",\"datePublished\":\"2026-08-25T13:40:25+00:00\",\"dateModified\":\"2026-09-05T10:38:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/\"},\"wordCount\":3210,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"articleSection\":[\"Comparateurs\"],\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lean-app.com\/calculateur-macros\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/\",\"url\":\"https:\/\/lean-app.com\/calculateur-macros\/\",\"name\":\"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides - Lean\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"datePublished\":\"2026-08-25T13:40:25+00:00\",\"dateModified\":\"2026-09-05T10:38:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/calculateur-macros\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lean-app.com\/calculateur-macros\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lean-app.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides\"}]},{\"@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":"Makrokalkulator: fordelingen din av proteiner, karbohydrater, fett - Lean","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\/calculateur-macros\/","og_locale":"nb_NO","og_type":"article","og_title":"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides - Lean","og_description":"Calcule ta r\u00e9partition de macros en grammes : prot\u00e9ines sur ta masse maigre, lipides en plancher hormonal, glucides selon ta d\u00e9pense r\u00e9elle. Sourc\u00e9 et gratuit.","og_url":"https:\/\/lean-app.com\/no\/calculateur-macros\/","og_site_name":"Lean","article_publisher":"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr","article_published_time":"2026-08-25T13:40:25+00:00","article_modified_time":"2026-09-05T10:38:59+00:00","og_image":[{"url":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","type":"","width":"","height":""}],"author":"L'\u00e9quipe Lean","twitter_card":"summary_large_image","twitter_misc":{"Written by":"L'\u00e9quipe Lean","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lean-app.com\/calculateur-macros\/#article","isPartOf":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/"},"author":{"@id":"https:\/\/lean-app.com\/#organization"},"headline":"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides","datePublished":"2026-08-25T13:40:25+00:00","dateModified":"2026-09-05T10:38:59+00:00","mainEntityOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/"},"wordCount":3210,"commentCount":0,"publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","articleSection":["Comparateurs"],"inLanguage":"nb-NO","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lean-app.com\/calculateur-macros\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lean-app.com\/calculateur-macros\/","url":"https:\/\/lean-app.com\/calculateur-macros\/","name":"Makrokalkulator: fordelingen din av proteiner, karbohydrater, fett - Lean","isPartOf":{"@id":"https:\/\/lean-app.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","datePublished":"2026-08-25T13:40:25+00:00","dateModified":"2026-09-05T10:38:59+00:00","breadcrumb":{"@id":"https:\/\/lean-app.com\/calculateur-macros\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/calculateur-macros\/"]}]},{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/lean-app.com\/calculateur-macros\/#primaryimage","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2026\/05\/lvm-logo-lean-square-scaled.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/lean-app.com\/calculateur-macros\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lean-app.com\/"},{"@type":"ListItem","position":2,"name":"Calculateur de macros : ta r\u00e9partition prot\u00e9ines, glucides, lipides"}]},{"@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\/1965","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=1965"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/posts\/1965\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/media?parent=1965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/categories?post=1965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/no\/wp-json\/wp\/v2\/tags?post=1965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}