{"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\/fi\/calculateur-macros\/","title":{"rendered":"Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi"},"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\/fi\/\"><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\/fi\/\">Etusivu<\/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\/fi\/\">Etusivu<\/a> &nbsp;\/&nbsp; Makrolaskuri<\/div>\n  <div class=\"eyebrow\">Laskuri &middot; Makrot &amp; jakauma<\/div>\n  <h1 id=\"title\">Makrolaskuri&nbsp;: proteiinit, hiilihydraatit, rasvat\n    <span class=\"alt\">oikeassa j\u00e4rjestyksess\u00e4, todellisten mittojesi perusteella<\/span>\n  <\/h1>\n  <p class=\"dek\">Kiinteill\u00e4 prosenteilla \u00ab40\/40\/20\u00bb on piilovika: ne jakavat kaloreita, joita ne eiv\u00e4t edes tunne. Oikealla menetelm\u00e4ll\u00e4 on j\u00e4rjestys: ensin proteiinisi (rasvattomasta massastasi), sitten rasvasi (hormonaalinen lattia), ja hiilihydraatit ottavat loput SINUN todellisesta kulutuksestasi, laskettuna mittojesi ja askeltesi perusteella. Sit\u00e4 t\u00e4m\u00e4 laskuri tekee, l\u00e4hteineen.<\/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-tiimi<\/strong> &middot; Lukuaika 8&nbsp;min &middot; P\u00e4ivitetty 27.8.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\">Ilmainen lataus<\/span>\n  <\/div>\n\n  <div class=\"hero-bottom\">\n    <div class=\"hero-lead\">\n      Yleiset jakaumat tyyliin \u00ab40\/40\/20\u00bb soveltavat mielivaltaisia prosentteja summittaisesti arvioituun kokonaism\u00e4\u00e4r\u00e4\u00e4n. Juuri sen Lean hylk\u00e4\u00e4: kulutuksesi lasketaan mittojesi perusteella (rasvaprosentti, todelliset askeleet), ja makrosi lasketaan jokaisella kirjatulla aterialla. T\u00e4m\u00e4 sivu soveltaa samaa logiikkaa: ensin kulutuksesi, sitten grammasi, merkitsev\u00e4ss\u00e4 j\u00e4rjestyksess\u00e4.\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>Interaktiivinen demo<\/small>Napauta n\u00e4ytt\u00f6\u00e4 tutkiaksesi sovellusta<\/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>Interaktiivinen demo<\/small>Napauta n\u00e4ytt\u00f6\u00e4<br>tutkiaksesi sovellusta<\/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=\"Lean-sovelluksen esikatselu TDEE-erittelyll\u00e4\">\n          <div class=\"notch\"><\/div>\n          <div class=\"phone-screen\">\n            <button class=\"phone-back\" id=\"phoneBack\" aria-label=\"Takaisin\">&#8249;<\/button>\n            <div id=\"phoneImg\" class=\"phone-bg tab-depense\" role=\"img\" aria-label=\"Lean-esikatselu, Kulutus-v\u00e4lilehti\"><\/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=\"BMR-tiedot\"><\/div>\n              <div class=\"z\" data-sub=\"NEAT\" style=\"top:33%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"NEAT-tiedot\"><\/div>\n              <div class=\"z\" data-sub=\"EAT\"  style=\"top:50%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"EAT-tiedot\"><\/div>\n              <div class=\"z\" data-sub=\"TEF\"  style=\"top:67%;height:16%\" role=\"button\" tabindex=\"0\" aria-label=\"TEF-tiedot\"><\/div>\n            <\/div>\n            <div class=\"phone-navbar\" id=\"phoneNav\" aria-hidden=\"false\">\n              <button data-tab=\"bilan\"     type=\"button\" aria-label=\"Yhteenveto-v\u00e4lilehti\"><\/button>\n              <button data-tab=\"kcal\"      type=\"button\" aria-label=\"Kalorit-v\u00e4lilehti\"><\/button>\n              <button data-tab=\"depense\"   type=\"button\" aria-label=\"Kulutus-v\u00e4lilehti\"><\/button>\n              <button data-tab=\"strategie\" type=\"button\" aria-label=\"Strategia-v\u00e4lilehti\"><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"phone-tabs\" role=\"tablist\" aria-label=\"Navigoi Lean-sovelluksessa\">\n          <button data-tab=\"bilan\"     type=\"button\">Yhteenveto<\/button>\n          <button data-tab=\"kcal\"      type=\"button\">Kalorit<\/button>\n          <button data-tab=\"depense\"   type=\"button\" class=\"on\">Kulutus<\/button>\n          <button data-tab=\"strategie\" type=\"button\">Strategia<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"snippet rev\">\n    <div class=\"lbl\">Pikavastaus<\/div>\n    <p>Kolmivaiheinen menetelm\u00e4, alan referenssien (Helms 2014, Kerksick 2018) menetelm\u00e4: <b>proteiinit<\/b> ensin, rasvattomasta massastasi; <b>rasvat<\/b> sitten, lattiana (20\u201330&nbsp;% kaloreistasi, ne kannattelevat hormonejasi); <b>hiilihydraatit<\/b> lopuksi, jotka ottavat kaikki j\u00e4ljell\u00e4 olevat kalorit harjoittelusi ravinnoksi. 75&nbsp;kg painavalle, 15&nbsp;%:n rasvaprosentin miehelle dieetiss\u00e4 se antaa noin <b>172&nbsp;g proteiinia, 168&nbsp;g hiilihydraatteja ja 50&nbsp;g rasvaa<\/b>. Laske tarkka jakaumasi alla.<\/p>\n  <\/div>\n<\/section>\n\n<h2 class=\"sect\"><span class=\"num\">02 &middot; Laskuri<\/span>Laske makrojakaumasi grammoina<\/h2>\n<p>Mittasi, askeleesi, tavoitteesi: laskuri rakentaa uudelleen kulutuksesi urheilun ulkopuolella (BMR rasvattomasta massasta + NEAT askelistasi + TEF, samat kaavat kuin <a href=\"https:\/\/lean-app.com\/fi\/calculateur-tdee\/\">TDEE-laskuri<\/a>), soveltaa tavoitteesi ja jakaa sitten j\u00e4rjestyksess\u00e4: proteiinit rasvattomasta massastasi, rasvat 25&nbsp;% kaloreista, hiilihydraatit lopusta. Treenisi (EAT) lis\u00e4t\u00e4\u00e4n p\u00e4\u00e4lle: treenip\u00e4ivin\u00e4 hiilihydraatit nousevat. Rasvaprosentti tuntematon? K\u00e4yt\u00e4 <a href=\"https:\/\/lean-app.com\/fi\/calculateur-masse-grasse\/\">rasvaprosenttilaskuriamme<\/a>.<\/p>\n\n<div class=\"calc-board\" id=\"calcBoard\">\n  <div class=\"calc-inputs\">\n    <h3>Mittasi<\/h3>\n    <div class=\"calc-row\">\n      <label>Sukupuoli<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"sex\" value=\"M\" checked><span>Mies<\/span><\/label>\n        <label><input type=\"radio\" name=\"sex\" value=\"F\"><span>Nainen<\/span><\/label>\n      <\/div>\n    <\/div>\n    <div class=\"calc-row\"><label for=\"cAge\">Ik\u00e4 (vuotta)<\/label><input id=\"cAge\" type=\"number\" min=\"14\" max=\"90\" value=\"30\"><\/div>\n    <div class=\"calc-row\"><label for=\"cWeight\">Paino (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\">Pituus (cm)<\/label><input id=\"cHeight\" type=\"number\" min=\"140\" max=\"220\" value=\"178\"><\/div>\n    <div class=\"calc-row\">\n      <label for=\"cBodyfat\">Rasvaprosentti<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\">Etk\u00f6 tied\u00e4 rasvaprosenttiasi&nbsp;?<\/button>\n      <div class=\"calc-note\" id=\"bfHint\">Tavalliset vaihteluv\u00e4lit miehelle: 10\u201325&nbsp;%. Mittaa se mittanauhalla rasvaprosenttilaskurillamme tai kuvalla BodyScanilla.<\/div>\n    <\/div>\n    <div class=\"calc-row\">\n      <label for=\"cSteps\">P\u00e4ivitt\u00e4iset askeleet (7 p\u00e4iv\u00e4n keskiarvo)<span class=\"steps-out\" id=\"stepsVal\">8&#8239;000 askelta<\/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\">Todellinen keskiarvosi n\u00e4kyy Terveys-sovelluksessa tai Google Fitiss\u00e4. Se kalibroi hiilihydraattisi, ei rastitettu ruutu.<\/div>\n    <\/div>\n    <div class=\"calc-row\">\n      <label>Tavoitteesi<\/label>\n      <div class=\"calc-sex\">\n        <label><input type=\"radio\" name=\"goal\" value=\"cut\" checked><span>Dieetti<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"maintain\"><span>Yll\u00e4pito<\/span><\/label>\n        <label><input type=\"radio\" name=\"goal\" value=\"bulk\"><span>Lihaskasvu<\/span><\/label>\n      <\/div>\n      <div class=\"calc-note\" id=\"goalHint\">Dieetiss\u00e4: tavoite 80&nbsp;% kulutuksestasi urheilun ulkopuolella, proteiinit vaihteluv\u00e4lin yl\u00e4p\u00e4\u00e4ss\u00e4.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"calc-results\">\n    <div class=\"calc-tdee\">\n      <div class=\"label\">Kaloritavoitteesi (ilman treenej\u00e4)<\/div>\n      <div class=\"val\"><span id=\"rKcal\">1&#8239;812<\/span><span class=\"unit\">kcal\/p\u00e4iv\u00e4<\/span><\/div>\n      <div class=\"neat-meter\" aria-hidden=\"true\"><i id=\"kcalBar\"><\/i><\/div>\n      <span class=\"neat-pill warn\" id=\"kcalPill\">Dieettitavoite<\/span>\n      <div class=\"note\">Kulutus urheilun ulkopuolella rakennettu uudelleen mittojesi perusteella (BMR rasvaton massa + NEAT askelistasi + TEF), sitten tavoite sovellettu. Treenisi lis\u00e4t\u00e4\u00e4n p\u00e4\u00e4lle: sy\u00f6 treenihiilihydraattisi lis\u00e4ksi niin\u00e4 p\u00e4ivin\u00e4.<\/div>\n    <\/div>\n\n    <div class=\"bmr-duo\">\n      <div class=\"bd-card pas\">\n        <div class=\"label\">Proteiinit<\/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; rasvattomasta massastasi<\/div>\n      <\/div>\n      <div class=\"bd-card\">\n        <div class=\"label\">Hiilihydraatit<\/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; s\u00e4\u00e4t\u00f6muuttuja<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"share-card\">\n      <div class=\"label\">Rasvat<\/div>\n      <div class=\"share-meter\" aria-hidden=\"true\"><i id=\"shareBar\"><\/i><\/div>\n      <p><b id=\"rL\">50<\/b>&nbsp;g p\u00e4iv\u00e4ss\u00e4 (<b id=\"rL9\">453<\/b>&nbsp;kcal, 9&nbsp;kcal\/g), eli 25&nbsp;% kaloreistasi: lattia, joka tukee hormonejasi (terve vaihteluv\u00e4li: 20\u201330&nbsp;%, Helms 2014). Alle 20&nbsp;% pitk\u00e4aikaisesti ei ole en\u00e4\u00e4 tarkkuutta, se on riski.<\/p>\n    <\/div>\n\n    <div class=\"calc-delta\" id=\"deltaLine\">\n      g\/kg painosta: <b id=\"dPkg\">2,3<\/b> proteiinia, <b id=\"dGkg\">2,2<\/b> hiilihydraatteja, <b id=\"dLkg\">0,7<\/b> rasvaa. Treenip\u00e4ivin\u00e4 lis\u00e4\u00e4 treenikalorisi <b>hiilihydraatteina<\/b> : ne t\u00e4ytt\u00e4v\u00e4t tankin.\n    <\/div>\n\n    <div class=\"reco-card\" id=\"recoCard\">\n      <div class=\"rc-title\" id=\"recoTitle\">Suositus<\/div>\n      <p class=\"rc-body\" id=\"recoBody\"><\/p>\n      <p class=\"rc-disclaimer\">Pedagoginen arvio, joka perustuu julkaistuihin suosituksiin (Helms 2014; Morton 2018; Kerksick 2018). T\u00e4m\u00e4 laskuri ei ole diagnostiikkaty\u00f6kalu eik\u00e4 korvaa l\u00e4\u00e4k\u00e4rin neuvoja.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  T\u00e4m\u00e4 laskuri antaa jakaumasi l\u00e4pin\u00e4kyvill\u00e4 kaavoilla. <b>Lean menee pidemm\u00e4lle:<\/b> kolme makrolaskuriasi t\u00e4yttyv\u00e4t reaaliajassa jokaisella kirjatulla ruoka-aineella, kulutuksesi liikkuu askeltesi mukana, ja p\u00e4iv\u00e4tavoitteesi s\u00e4\u00e4tyy jatkuvasti. <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\">Seuraa makrojasi Leanissa.<\/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=\"Sulje\">&times;<\/button>\n    <div class=\"bf-title\" id=\"bfModalTitle\">Etk\u00f6 tied\u00e4 rasvaprosenttiasi&nbsp;?<\/div>\n    <p class=\"bf-text\">Leanin AI BodyScan mittaa sen 5&nbsp;sekunnissa yhdell\u00e4 kuvalla: rasvaprosentti, rasvaton massa ja rasvamassa, suoraan puhelimestasi.<\/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\">Kaksi vaihtoehtoa: <a href=\"https:\/\/lean-app.com\/fi\/calculateur-masse-grasse\/\">mittanauhalaskurimme<\/a> (2 minuuttia, ilmainen) tai yll\u00e4 oleva BodyScan-kuva. Sill\u00e4 v\u00e4lin j\u00e4t\u00e4 liukus\u00e4\u00e4din likiarvoon: likim\u00e4\u00e4r\u00e4inen rasvaprosentti on parempi kuin summittainen jakauma.<\/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; Tiede<\/span>Miksi makrojen j\u00e4rjestys merkitsee enemm\u00e4n kuin niiden prosentit<\/h2>\n\n<div class=\"statement\"><p>Yksi makro kiinnitet\u00e4\u00e4n, yksi makro suojataan, yksi makro s\u00e4\u00e4det\u00e4\u00e4n. <span class=\"accent\">T\u00e4ss\u00e4 j\u00e4rjestyksess\u00e4.<\/span><\/p><\/div>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">1.<span>proteiinit<\/span><\/div><div class=\"kl\">kiinnitetty rasvattomaan massaasi: ne suojaavat lihasta tavoitteesta riippumatta (Morton 2018, Helms 2014)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">20-30<span>% kcal<\/span><\/div><div class=\"kl\">rasvalattia, joka tukee hormonituotantoa, ei rikottava dieetiss\u00e4 (Helms 2014)<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">loput<span>hiilihydraatit<\/span><\/div><div class=\"kl\">s\u00e4\u00e4t\u00f6muuttuja: ne seuraavat todellista kulutustasi ja ravitsevat treenej\u00e4si (Kerksick 2018)<\/div><\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Kiinteiden prosenttien jakaumilla, kuuluisalla \u00ab40\/40\/20\u00bb, on kaksi rakenteellista vikaa. Ensinn\u00e4kin ne sovelletaan kalorikokonaism\u00e4\u00e4r\u00e4\u00e4n, jota ne eiv\u00e4t laske: 40&nbsp;% v\u00e4\u00e4r\u00e4st\u00e4 kulutuksesta on yh\u00e4 v\u00e4\u00e4rin. Toiseksi ne kohtelevat kolmea makroa vaihdettavina, vaikka niill\u00e4 ei ole samaa roolia eik\u00e4 samaa kiireellisyytt\u00e4.<\/p>\n<p>Alan referenssien (Helms 2014 valmistautumiseen, Kerksick 2018 ISSN-katsaukseen) konsensushierarkia tiivistyy kolmeen vaiheeseen. <b>Proteiinit ensin<\/b> : ne kiinnitet\u00e4\u00e4n grammoina rasvattomaan massaasi, ei prosentteina, koska niiden rooli (lihaksen rakentaminen ja suojaaminen) ei riipu kalorikokonaism\u00e4\u00e4r\u00e4st\u00e4si. <b>Rasvat sitten<\/b> : ne kannattelevat hormonituotantoasi; pitk\u00e4aikaisesti alle 20&nbsp;% kaloreista leikit\u00e4\u00e4n tulella, siit\u00e4 lattia 20\u201330&nbsp;%. <b>Hiilihydraatit lopuksi<\/b> : kaikki, mit\u00e4 j\u00e4\u00e4. Ne eiv\u00e4t ole \u00abj\u00e4mi\u00e4\u00bb halventavassa mieless\u00e4: ne ovat treeniesi polttoaine, ja juuri koska ne ovat s\u00e4\u00e4t\u00f6muuttuja, ne ottavat vastaan vajeen dieetiss\u00e4 ja ylij\u00e4\u00e4m\u00e4n massankasvatuksessa.<\/p>\n<p>T\u00e4m\u00e4 laskuri lis\u00e4\u00e4 rakennuspalikan, joka puuttuu kaikkialta muualta: l\u00e4ht\u00f6kalorikokonaism\u00e4\u00e4r\u00e4 rakennetaan uudelleen <b>mittasi<\/b> (BMR rasvattomasta massasta, NEAT todellisista askelistasi, TEF), ei optimistisena p\u00e4iv\u00e4n\u00e4 rastitetusta aktiivisuusruudusta. Samat kaavat kuin <a href=\"https:\/\/lean-app.com\/fi\/calculateur-tdee\/\">TDEE-laskuri<\/a>, johdonmukaisuus on tarkistettavissa sivulta toiselle.<\/p>\n<p>Mihin se sijoittuu yht\u00e4l\u00f6ss\u00e4? Sy\u00f6m\u00e4si makrot m\u00e4\u00e4ritt\u00e4v\u00e4t my\u00f6s <a href=\"https:\/\/lean-app.com\/fi\/effet-thermique-des-aliments\/\">TEF<\/a> (TDEE = BMR + NEAT + EAT + TEF -yht\u00e4l\u00f6n 4. rakennuspalikka): proteiinit polttavat 20\u201330&nbsp;% kaloreistaan ruoansulatuksessa, hiilihydraatit 5\u201310&nbsp;%, rasvat l\u00e4hes ei mit\u00e4\u00e4n. Proteiinipitoinen jakauma lis\u00e4\u00e4 hieman kulutustasi, ja Lean laskee t\u00e4m\u00e4n vaikutuksen todella kirjatuista makroistasi.<\/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\">3 laskuriasi, suorana<\/b>Proteiinit, hiilihydraatit, rasvat: jokainen kirjattu ruoka-aine t\u00e4ytt\u00e4\u00e4 laskurit sovelluksessa.<\/div>\n<\/div>\n\n<div class=\"body\">\n<p>Viimeinen rehellisyyden kohta: jakaumasi tarkkuus riippuu kulutuksesi tarkkuudesta, siis rasvaprosentistasi ja askelistasi. Se on vankka l\u00e4ht\u00f6arvio, s\u00e4\u00e4dett\u00e4v\u00e4 todellisten tulostesi mukaan viikkojen edetess\u00e4: t\u00e4ydellist\u00e4 lukua ei ole olemassa, mitattu kehityskaari on.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  Kaksi yl\u00e4virran rakennuspalikkaa: <a href=\"https:\/\/lean-app.com\/fi\/calculateur-masse-grasse\/\">rasvaprosenttisi mittanauhalla<\/a> ja <a href=\"https:\/\/lean-app.com\/fi\/calculateur-proteines\/\">proteiinisi rasvattomasta massasta<\/a>. Kaikki ty\u00f6kalut ovat <a href=\"https:\/\/lean-app.com\/fi\/calculateurs\/\">laskurihubissa<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">04 &middot; Kolme lukuprofiilia<\/span>Samat kehot, rasvaprosentista makroihin<\/h2>\n<p>Laskuriemme profiilit <a href=\"https:\/\/lean-app.com\/fi\/calculateur-masse-grasse\/\">rasvamassa<\/a> ja <a href=\"https:\/\/lean-app.com\/fi\/calculateur-proteines\/\">proteiinit<\/a>, vietyn\u00e4 loppuun: heid\u00e4n t\u00e4ydellinen jakaumansa. Toista jokainen luku sy\u00f6tt\u00e4m\u00e4ll\u00e4 samat parametrit yll\u00e4.<\/p>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>H\u00e4n dieettaa siististi<\/h4>\n    <div class=\"meta\">Nainen &middot; 31 v &middot; 64&nbsp;kg &middot; 1,66 m &middot; rasvaprosentti 27&nbsp;% &middot; 6&#8239;000 askelta &middot; dieetti<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Tavoite kcal (ilman treenej\u00e4)<\/span><span class=\"v\">&asymp;&nbsp;1&#8239;379 kcal\/pv<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiinit<\/span><span class=\"v\">&asymp;&nbsp;126 g<\/span><\/div>\n      <div class=\"rw\"><span>Hiilihydraatit<\/span><span class=\"v\">&asymp;&nbsp;133 g<\/span><\/div>\n      <div class=\"rw\"><span>Rasvat<\/span><span class=\"v\">&asymp;&nbsp;38 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">Korkeat proteiinit 46,7&nbsp;kg:n rasvattomalle massalle: dieetti suojaa lihaksensa. <b style=\"color:var(--pink)\">Treenip\u00e4ivin\u00e4 h\u00e4nen hiilihydraattinsa nousevat, ei h\u00e4nen vajeensa.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>Kiinte\u00e4 urheilija dieetiss\u00e4<\/h4>\n    <div class=\"meta\">Mies &middot; 29 v &middot; 75&nbsp;kg &middot; 1,78 m &middot; rasvaprosentti 12,5&nbsp;% &middot; 8&#8239;000 askelta &middot; dieetti<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Tavoite kcal (ilman treenej\u00e4)<\/span><span class=\"v\">&asymp;&nbsp;1&#8239;854 kcal\/pv<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiinit<\/span><span class=\"v\">&asymp;&nbsp;177 g<\/span><\/div>\n      <div class=\"rw\"><span>Hiilihydraatit<\/span><span class=\"v\">&asymp;&nbsp;172 g<\/span><\/div>\n      <div class=\"rw\"><span>Rasvat<\/span><span class=\"v\">&asymp;&nbsp;51 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">Tiukat hiilihydraatit arjessa: se on hyvin kalibroidun edistyneen dieetin merkki. <b style=\"color:var(--pink)\">H\u00e4nen varansa on askelissa: 2&#8239;000 lis\u00e4\u00e4 &asymp; 65 kcal tavoitteeseen, eli ~16 g hiilihydraatteja voitettuna.<\/b><\/div>\n  <\/div>\n\n  <div class=\"profile-card\">\n    <h4>H\u00e4n rakentaa siististi<\/h4>\n    <div class=\"meta\">Mies &middot; 42 v &middot; 92&nbsp;kg &middot; 1,80 m &middot; rasvaprosentti 26,5&nbsp;% &middot; 10&#8239;000 askelta &middot; massankasvatus<\/div>\n    <div class=\"rows\">\n      <div class=\"rw\"><span>Tavoite kcal (ilman treenej\u00e4)<\/span><span class=\"v\">&asymp;&nbsp;2&#8239;704 kcal\/pv<\/span><\/div>\n      <div class=\"rw lean\"><span>Proteiinit<\/span><span class=\"v\">&asymp;&nbsp;128 g<\/span><\/div>\n      <div class=\"rw\"><span>Hiilihydraatit<\/span><span class=\"v\">&asymp;&nbsp;379 g<\/span><\/div>\n      <div class=\"rw\"><span>Rasvat<\/span><span class=\"v\">&asymp;&nbsp;75 g<\/span><\/div>\n    <\/div>\n    <div class=\"delta\">Kohtuullinen 10&nbsp;%:n ylij\u00e4\u00e4m\u00e4, kaikki hiilihydraatteihin: massankasvatus pysyy puhtaana. <b style=\"color:var(--pink)\">Rasvaprosentti mitataan uudelleen 4 viikon v\u00e4lein tarkistusta varten.<\/b><\/div>\n  <\/div>\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">05 &middot; K\u00e4yt\u00e4nn\u00f6ss\u00e4<\/span>El\u00e4\u00e4 makrojensa kanssa tekem\u00e4tt\u00e4 niist\u00e4 uskontoa<\/h2>\n\n<div class=\"body\">\n<p>Jakauma on hy\u00f6dyllinen vain, jos se kest\u00e4\u00e4 oikeassa el\u00e4m\u00e4ss\u00e4. Nelj\u00e4 s\u00e4\u00e4nt\u00f6\u00e4, jotka est\u00e4v\u00e4t 90&nbsp;% luovuttamisista:<\/p>\n<\/div>\n\n<div class=\"profile-grid\">\n  <div class=\"profile-card\">\n    <h4>1. Proteiinit ehdottomana prioriteettina<\/h4>\n    <div class=\"meta\">Ainoa makro, johon t\u00e4hd\u00e4t\u00e4 gramman tarkkuudella<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Saavuta proteiinisi joka p\u00e4iv\u00e4, vaikka muu lipsuisi: l\u00e4hde jokaisella aterialla. Hiilihydraatit ja rasvat siet\u00e4v\u00e4t p\u00e4ivitt\u00e4ist\u00e4 suurpiirteisyytt\u00e4, lihas ei.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>2. Hiilihydraatit treenien ymp\u00e4rille<\/h4>\n    <div class=\"meta\">Oikea makro oikeaan aikaan<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Sijoita suurin osa hiilihydraateistasi ennen ja j\u00e4lkeen harjoittelun: suorituskyky treeniss\u00e4, palautuminen sen j\u00e4lkeen. Lepop\u00e4ivin\u00e4 ne laskevat luonnostaan.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>3. Rasvat mets\u00e4st\u00e4m\u00e4tt\u00e4 niit\u00e4<\/h4>\n    <div class=\"meta\">Lattia t\u00e4yttyy itsest\u00e4\u00e4n<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">Ruoka\u00f6ljy, kananmunat, rasvaiset kalat, p\u00e4hkin\u00e4t: 20\u201325&nbsp;%:n lattia t\u00e4yttyy vaivatta normaalissa ruokavaliossa. Tarkkaile vain, ettei se romahda aggressiivisessa dieetiss\u00e4.<\/p>\n  <\/div>\n  <div class=\"profile-card\">\n    <h4>4. Tarkkuus trendiin, ei p\u00e4iv\u00e4\u00e4n<\/h4>\n    <div class=\"meta\">Viikkokeskiarvo tekee tuloksen<\/div>\n    <p style=\"margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)\">P\u00e4iv\u00e4 &plusmn;20&nbsp;g ei muuta mit\u00e4\u00e4n; viikko systemaattisesti pieless\u00e4 kyll\u00e4. Katso 7 p\u00e4iv\u00e4n keskiarvoasi ja s\u00e4\u00e4d\u00e4 pienin 10\u201315&nbsp;g:n askelin.<\/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\">Yhteenveto yhdell\u00e4 silm\u00e4yksell\u00e4<\/b>P\u00e4iv\u00e4n kaloritasapaino ja makrot: trendi luetaan, sit\u00e4 ei arvata.<\/div>\n<\/div>\n\n<div class=\"micro-cta\">\n  Hy\u00f6dyllinen muistutus <a href=\"https:\/\/lean-app.com\/fi\/etude-base-donnees-calories\/\">tietokantatutkimuksestamme<\/a> : yli yksi viidest\u00e4 proteiinipatukan tuotekortista on ep\u00e4johdonmukainen. Skannauksen j\u00e4lkeen tarkista, ett\u00e4 makrot t\u00e4sm\u00e4\u00e4v\u00e4t kalorien kanssa.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">06 &middot; Myytti vs todellisuus<\/span>\u00ab40\/40\/20\u00bb ja hiilihydraattipelko<\/h2>\n\n<div class=\"key-grid\">\n  <div class=\"key-card\"><div class=\"kv\">0<span>tutkimus<\/span><\/div><div class=\"kl\">ei perustele universaalia \u00ab40\/40\/20\u00bb: se on valmentajan mukavuus, ei tieteellinen suositus<\/div><\/div>\n  <div class=\"key-card\"><div class=\"kv\">&asymp;<span>samoilla kcal:lla<\/span><\/div><div class=\"kl\">samoilla kaloreilla ja proteiineilla hiilihydraatti\/rasva-osuus muuttaa rasvanpudotusta v\u00e4h\u00e4n: vaje ratkaisee (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 proteiineille ja hiilihydraateille, 9 rasvoille: aritmetiikka, joka tekee prosenteista harhaanjohtavia<\/div><\/div>\n<\/div>\n\n<div class=\"mvr\">\n  <div class=\"mv myth\">\n    <div class=\"tag\">Myytti<\/div>\n    <h4>\u00abOn olemassa taikajakauma, ja hiilihydraatit lihottavat\u00bb<\/h4>\n    <p>\u00ab40\/40\/20\u00bb (tai sen hetken low carb -muunnelma) lupaa universaalin jakauman. Mutta prosentti ei merkitse mit\u00e4\u00e4n ilman kokonaism\u00e4\u00e4r\u00e4\u00e4: 40&nbsp;% proteiinia 55&nbsp;kg painavalle henkil\u00f6lle yll\u00e4pidossa ja 100&nbsp;kg painavalle miehelle dieetiss\u00e4 ovat kaksi toisiinsa liittym\u00e4t\u00f6nt\u00e4 todellisuutta. Ja \u00ablihottavat\u00bb hiilihydraatit: samoilla kaloreilla ja proteiineilla vertailevat tutkimukset eiv\u00e4t osoita low carbin systemaattista etua rasvanpudotuksessa (ISSN-katsaus, Kerksick 2018). Vaje laihduttaa, ei makron mets\u00e4stys.<\/p>\n  <\/div>\n  <div class=\"mv real\">\n    <div class=\"tag\">Mitattu todellisuus<\/div>\n    <h4>Hierarkkiset grammat SINUN kulutuksestasi<\/h4>\n    <p>Toimiva sarja: mittojesi perusteella uudelleen rakennettu kalorikokonaism\u00e4\u00e4r\u00e4, rasvattomaan massaasi kiinnitetyt proteiinit, rasvalattia hormoneille, ja hiilihydraatit, jotka ottavat loput, sijoitettavaksi treeniesi ymp\u00e4rille. Jakaumasi muuttuu, kun kehosi tai tavoitteesi muuttuu, ei kun muoti muuttuu.<\/p>\n    <p>Low carb -valinta on yh\u00e4 mahdollinen henkil\u00f6kohtaisena mieltymyksen\u00e4 (kyll\u00e4isyys, ruoansulatuksen mukavuus): kunhan proteiinit ja kalorit ovat paikallaan, se on makukysymys, ei fysiologiaa. T\u00e4m\u00e4 laskuri antaa tasapainoisen version; voit vapaasti siirt\u00e4\u00e4 hiilihydraatteja rasvoihin, jos pysyt siin\u00e4 paremmin.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"body\">\n<p>K\u00e4yt\u00e4nn\u00f6n seuraus: valitse jakauma, jonka jaksat 12 viikkoa, et 12 p\u00e4iv\u00e4\u00e4. Sitoutuminen voittaa optimoinnin, se on muuten sovelluksen Edistymispyramidin ensimm\u00e4inen taso: sitoutuminen &gt; kaloritavoite &gt; loput.<\/p>\n<\/div>\n\n<div class=\"micro-cta\">\n  Sijoittaaksesi makrosi t\u00e4ydelliseen kulutukseesi: <a href=\"https:\/\/lean-app.com\/fi\/calculateur-tdee\/\">TDEE-laskuri<\/a> ja opas <a href=\"https:\/\/lean-app.com\/fi\/calculer-vraie-depense-calorique\/\">laske todellinen kalorikulutuksesi<\/a>.\n<\/div>\n\n<h2 class=\"sect\"><span class=\"num\">07 &middot; UKK<\/span>Kaikki, mit\u00e4 mietit makroista<\/h2>\n<details class=\"faq\"><summary>Miten laskea makronsa&nbsp;?<\/summary><div class=\"faq-body\"><p>J\u00e4rjestyksess\u00e4: laske ensin kulutuksesi mittojesi perusteella (rasvaton massa, todelliset askeleet), sovella tavoitteesi (vaje, yll\u00e4pito tai ylij\u00e4\u00e4m\u00e4), jaa sitten: proteiinit grammoina rasvattomasta massastasi, rasvat 20\u201330 % kaloreista, ja hiilihydraatit ottavat kaiken lopun. Juuri sit\u00e4 t\u00e4m\u00e4n sivun laskuri tekee, kaavat n\u00e4ytettyin\u00e4.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Mik\u00e4 on hyv\u00e4 makrojakauma dieettiin&nbsp;?<\/summary><div class=\"faq-body\"><p>Taikaprosenttia ei ole: dieetiss\u00e4 proteiinit nousevat (2,3\u20133,1 g rasvattoman massan kiloa kohti, Helms 2014), rasvat pit\u00e4v\u00e4t lattiansa 20\u201325 % kaloreista, ja hiilihydraatit ottavat vastaan vajeen. Jos hiilihydraattisi putoavat alle ~1 g\/kg, vajeesi on luultavasti liian aggressiivinen: nosta tavoitetta sen sijaan, ett\u00e4 rikkoisit jakaumasi.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>P\u00e4teek\u00f6 40\/40\/20&nbsp;?<\/summary><div class=\"faq-body\"><p>Se on muistis\u00e4\u00e4nt\u00f6, ei tieteellinen suositus. Kaksi ongelmaa: prosentit eiv\u00e4t merkitse mit\u00e4\u00e4n ilman kalorikokonaism\u00e4\u00e4r\u00e4\u00e4, ja ne irrottavat proteiinit rasvattomasta massasta, jota niiden pit\u00e4\u00e4 ravita. Joillekin profiileille 40\/40\/20 osuu sattumalta l\u00e4helle oikeaa vastausta: t\u00e4m\u00e4 laskuri kertoo, oletko sin\u00e4 sellainen.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Lihottavatko hiilihydraatit&nbsp;?<\/summary><div class=\"faq-body\"><p>Ei: kaloriylij\u00e4\u00e4m\u00e4 lihottaa, olipa sit\u00e4 kantava makro mik\u00e4 tahansa. Samoilla kaloreilla ja proteiineilla low carb vs high carb -vertailut eiv\u00e4t osoita systemaattista eroa rasvanpudotuksessa (Kerksick 2018). Hiilihydraateilla on jopa keskeinen rooli harjoittelussa: suorituskyky, palautuminen ja intensiteetin yll\u00e4pito vajeessa.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Tarvitaanko p\u00e4ivi\u00e4, joissa on enemm\u00e4n hiilihydraatteja&nbsp;?<\/summary><div class=\"faq-body\"><p>Yksinkertainen ja vankka versio: lis\u00e4\u00e4 treenikalorisi hiilihydraatteina treenip\u00e4ivin\u00e4 ja pysy perustasossasi lepop\u00e4ivin\u00e4. Hienostuneempi \u00absyklitys\u00bb (suunnitellut korkeat\/matalat p\u00e4iv\u00e4t) voi auttaa joidenkin sitoutumista, mutta ei luo metabolista taikaa: viikoittainen kokonaism\u00e4\u00e4r\u00e4 on yh\u00e4 tuomari.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Kuinka paljon rasvaa v\u00e4hint\u00e4\u00e4n p\u00e4iv\u00e4ss\u00e4&nbsp;?<\/summary><div class=\"faq-body\"><p>K\u00e4yt\u00e4nn\u00f6n viite: \u00e4l\u00e4 laskeudu pitk\u00e4aikaisesti alle 20 %:n kaloreistasi (Helms 2014), eli noin 0,5\u20130,6 g painokiloa kohti useimmille profiileille. Rasvat kannattelevat hormonituotantoa ja rasvaliukoisten vitamiinien imeytymist\u00e4: se on terveyslattia, ei optimointimuuttuja.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Miksi treenini eiv\u00e4t ole laskennassa&nbsp;?<\/summary><div class=\"faq-body\"><p>Koska ne vaihtelevat liikaa p\u00e4iv\u00e4st\u00e4 toiseen el\u00e4\u00e4kseen keskiarvossa. Laskuri antaa perustasosi urheilun ulkopuolella (BMR + NEAT + TEF); treenisi (EAT) lis\u00e4t\u00e4\u00e4n p\u00e4\u00e4lle, hiilihydraatteina, p\u00e4ivin\u00e4 jolloin ne tapahtuvat. Se on tarkempaa kuin kerroin, joka tasoittaa viikkosi, ja juuri niin sovellus laskee: jokainen seurattu treeni lis\u00e4t\u00e4\u00e4n p\u00e4iv\u00e4\u00e4n, jona se on olemassa.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Pit\u00e4\u00e4k\u00f6 minun punnita kaikki ruokani&nbsp;?<\/summary><div class=\"faq-body\"><p>Alussa p\u00e4\u00e4asiallisten l\u00e4hteiden (t\u00e4rkkelyspitoiset, lihat, rasvat) punnitseminen 2\u20133 viikon ajan kalibroi silm\u00e4si: sen j\u00e4lkeen skannaus ja arviot riitt\u00e4v\u00e4t useimpiin aterioihin, silloin t\u00e4ll\u00f6in uudelleenkalibrointipunnituksella. Gramman tarkkuus on tarpeen vain proteiineissa ja aivan dieetin lopussa.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Muuttuvatko makroni, jos painoni muuttuu&nbsp;?<\/summary><div class=\"faq-body\"><p>Kyll\u00e4, kahdesti: painosi ja koostumuksesi muuttuvat (siis rasvaton massa ja proteiinit), ja kulutuksesi muuttuu mukana (siis kalorit ja hiilihydraatit). Laske uudelleen 3\u20134 viikon v\u00e4lein tai anna sovelluksen tehd\u00e4 se jatkuvasti: se on yksi sen rooleista, BMR laskettu uudelleen mitatusta rasvaprosentista ja tavoite s\u00e4\u00e4detty joka p\u00e4iv\u00e4.<\/p><\/div><\/details>\n<details class=\"faq\"><summary>Antaako t\u00e4m\u00e4 laskuri tarkan m\u00e4\u00e4r\u00e4yksen&nbsp;?<\/summary><div class=\"faq-body\"><p>Ei: vankan l\u00e4ht\u00f6kohdan, joka perustuu julkaistuihin konsensuksiin ja mittoihisi. Yksil\u00f6llinen optimi s\u00e4\u00e4tyy todellisten tulostesi (paino, rasvaprosentti, suorituskyky) mukaan viikkojen edetess\u00e4. Ja kuten aina: sairauden tai l\u00e4\u00e4ketieteellisen ep\u00e4ilyn tapauksessa pyyd\u00e4 ammattilaisen neuvoa ennen ruokavaliosi muuttamista.<\/p><\/div><\/details>\n\n<div class=\"sources\">\n  <h4>Tieteelliset l\u00e4hteet<\/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>Makrosi, laskettuna vaivatta<\/h3>\n  <p>Kolme laskuria, jotka t\u00e4yttyv\u00e4t jokaisella kirjatulla ruoka-aineella, kulutus, joka liikkuu askeltesi mukana, tavoite laskettuna jatkuvasti uudelleen mitatusta rasvaprosentistasi. T\u00e4m\u00e4n sivun jakauma, el\u00e4v\u00e4n\u00e4 taskussasi. Ilmainen lataus, 7&nbsp;p\u00e4iv\u00e4n kokeilu vuositilauksessa.<\/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;\">Lue my\u00f6s<\/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\/fi\/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;\">Proteiinilaskuri (rasvattomasta massasta) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Ensimm\u00e4isen rakennuspalikan yksityiskohdat: vaihteluv\u00e4lit, jakauma aterioittain, vastineet.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">Rasvaprosenttilaskuri (US Navy -menetelm\u00e4) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Edellinen vaihe: mittaa rasvaprosenttisi mittanauhalla tiet\u00e4\u00e4ksesi rasvattoman massasi.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">Perusaineenvaihdunnan laskenta: tarkin kaava <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Miksi BMR:si lasketaan rasvattomasta massastasi, ei painostasi.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">T\u00e4ydellinen TDEE-laskuri: BMR + NEAT + EAT + TEF <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Kulutuksesi erittely, palikka palikalta, todellisen rasvaprosenttisi perusteella.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">Miten laskea todellinen kalorikulutuksesi <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">T\u00e4ydellinen opas, BMR:st\u00e4 metaboliseen adaptaatioon, markkinoiden ansoineen.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">Metabolisen adaptaation laskuri <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Onko BMR:si hidastunut, ja kuinka paljon: kerroin 100\u20130 %.<\/span><\/a><\/li>\n<li><a href=\"https:\/\/lean-app.com\/fi\/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;\">Kokonaisenergiankulutus: t\u00e4ydellinen opas <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Kaikki, mist\u00e4 p\u00e4ivitt\u00e4iset kcal:si koostuvat, BMR:st\u00e4 ruoan l\u00e4mp\u00f6vaikutukseen.<\/span><\/a><\/li>\n<\/ul>\n<\/aside>","protected":false},"excerpt":{"rendered":"<p>Laske makrojakaumasi grammoina: proteiinit rasvattomasta massastasi, rasvat hormonaalisena lattiana, hiilihydraatit todellisen kulutuksesi mukaan. L\u00e4hteistetty ja ilmainen.<\/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>Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi - 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\/fi\/calculateur-macros\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi - Lean\" \/>\n<meta property=\"og:description\" content=\"Laske makrojakaumasi grammoina: proteiinit rasvattomasta massastasi, rasvat hormonaalisena lattiana, hiilihydraatit todellisen kulutuksesi mukaan. L\u00e4hteistetty ja ilmainen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/fi\/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\":\"fi\",\"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\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/calculateur-macros\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@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\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lean-app.com\/#organization\",\"name\":\"Lean\",\"url\":\"https:\/\/lean-app.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@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":"Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi - 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\/fi\/calculateur-macros\/","og_locale":"fi_FI","og_type":"article","og_title":"Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi - Lean","og_description":"Laske makrojakaumasi grammoina: proteiinit rasvattomasta massastasi, rasvat hormonaalisena lattiana, hiilihydraatit todellisen kulutuksesi mukaan. L\u00e4hteistetty ja ilmainen.","og_url":"https:\/\/lean-app.com\/fi\/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":"fi","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":"Makrolaskuri: proteiinien, hiilihydraattien ja rasvojen jakaumasi - 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":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/calculateur-macros\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@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":"Lataa, kokeile sovellusta ILMAISEKSI ja ota kehosi haltuun KOKO EL\u00c4M\u00c4KSI.","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":"fi"},{"@type":"Organization","@id":"https:\/\/lean-app.com\/#organization","name":"Lean","url":"https:\/\/lean-app.com\/","logo":{"@type":"ImageObject","inLanguage":"fi","@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\/fi\/wp-json\/wp\/v2\/posts\/1965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/comments?post=1965"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/posts\/1965\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/media?parent=1965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/categories?post=1965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/fi\/wp-json\/wp\/v2\/tags?post=1965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}