{"id":672,"date":"2025-04-01T15:51:26","date_gmt":"2025-04-01T15:51:26","guid":{"rendered":"https:\/\/pflhub.de\/?page_id=672"},"modified":"2026-01-09T15:13:27","modified_gmt":"2026-01-09T15:13:27","slug":"rechner-rework","status":"publish","type":"page","link":"https:\/\/pflhub.de\/?page_id=672","title":{"rendered":"Rechner"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"672\" class=\"elementor elementor-672\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21d00fc e-flex e-con-boxed e-con e-parent\" data-id=\"21d00fc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b98a6fd e-con-full e-flex e-con e-child\" data-id=\"b98a6fd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7539fd4 e-con-full e-flex e-con e-child\" data-id=\"7539fd4\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;motion_fx_motion_fx_mouse&quot;:&quot;yes&quot;,&quot;motion_fx_tilt_effect&quot;:&quot;yes&quot;,&quot;motion_fx_tilt_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.5,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e7ca76 elementor-widget elementor-widget-heading\" data-id=\"7e7ca76\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Deine Fortschritts-Tools<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07e3c01 elementor-widget elementor-widget-text-editor\" data-id=\"07e3c01\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"text-lg mb-6\">Intelligente Rechner f\u00fcr Muskelaufbau, Ern\u00e4hrung und K\u00f6rperanalyse \u2013 alles an einem Ort.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc427c0 e-flex e-con-boxed e-con e-parent\" data-id=\"bc427c0\" data-element_type=\"container\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:4,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f49882b elementor-widget elementor-widget-html\" data-id=\"f49882b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"tabs-wrapper\">\r\n  <!-- Tabs -->\r\n  <div class=\"tab-buttons\">\r\n    <button class=\"tab-btn active\" onclick=\"switchTab('progress')\">Progress<\/button>\r\n    <button class=\"tab-btn\" onclick=\"switchTab('macros')\">Makros<\/button>\r\n    <button class=\"tab-btn\" onclick=\"switchTab('ffmi')\">FFMI<\/button>\r\n  <\/div>\r\n\r\n  <!-- Inhalt: Progress -->\r\n  <div id=\"progress\" class=\"tab-content active\">\r\n  <div class=\"progress-wrapper\">\r\n  <div class=\"glass-card\">\r\n    <h2>\ud83d\ude80 Progressionsrechner v1.5 <\/h2>\r\n    <label for=\"weight\">Gewicht (kg):<\/label>\r\n    <input type=\"number\" id=\"weight\" placeholder=\"100\" min=\"0\" step=\"0.5\">\r\n    <label for=\"reps\">Wiederholungen:<\/label>\r\n    <input type=\"number\" id=\"reps\" placeholder=\"10\" min=\"1\" step=\"1\">\r\n    <button onclick=\"updateResults()\">Berechnen<\/button>\r\n    <div id=\"results\" class=\"result-box\">\r\n      <p>Gib deine Trainingswerte ein und klicke auf \"Berechnen\"<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <h2>Neues Gewicht testen<\/h2>\r\n    <label for=\"newWeight\">Neues Gewicht (kg):<\/label>\r\n    <input type=\"number\" id=\"newWeight\" placeholder=\"110\" min=\"0\" step=\"0.5\">\r\n    <button onclick=\"updateRequiredReps()\">Berechnen<\/button>\r\n    <div id=\"requiredRepsResult\" class=\"result-box\">\r\n      <p>Gib ein neues Gewicht ein, um die erforderlichen Wiederholungen zu berechnen<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .progress-wrapper {\r\n    max-width: 900px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n  }\r\n\r\n  .glass-card {\r\n    background: rgba(255, 255, 255, 0.6);\r\n    backdrop-filter: blur(12px);\r\n    -webkit-backdrop-filter: blur(12px);\r\n    border-radius: 20px;\r\n    padding: 30px;\r\n    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n    border: 1px solid rgba(255, 255, 255, 0.2);\r\n    color: #2a2a2a;\r\n    font-family: Arial, sans-serif;\r\n  }\r\n\r\n  .glass-card h2 {\r\n    font-size: 1.5rem;\r\n    margin-bottom: 15px;\r\n  }\r\n\r\n  .glass-card label {\r\n    display: block;\r\n    margin-top: 15px;\r\n    font-weight: bold;\r\n    font-size: 0.9rem;\r\n  }\r\n\r\n  .glass-card input {\r\n    width: 100%;\r\n    padding: 12px;\r\n    border-radius: 25px;\r\n    border: none;\r\n    background: #f1f3f8;\r\n    margin-top: 6px;\r\n    text-align: center;\r\n    color: #2a2a2a;\r\n    font-size: 1rem;\r\n  }\r\n\r\n  .glass-card button {\r\n    width: 100%;\r\n    margin-top: 20px;\r\n    padding: 12px;\r\n    background-color: #4a90e2;\r\n    color: white;\r\n    font-weight: bold;\r\n    border: none;\r\n    border-radius: 25px;\r\n    cursor: pointer;\r\n    transition: background-color 0.3s ease;\r\n  }\r\n\r\n  .glass-card button:hover {\r\n    background-color: #3366cc;\r\n  }\r\n\r\n  .result-box {\r\n    margin-top: 20px;\r\n    padding: 20px;\r\n    background-color: rgba(255, 255, 255, 0.4);\r\n    border: 1px solid rgba(0, 0, 0, 0.05);\r\n    border-radius: 12px;\r\n    backdrop-filter: blur(8px);\r\n    font-size: 0.95rem;\r\n  }\r\n\r\n  .divider {\r\n    margin: 30px 0;\r\n    border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n  }\r\n\r\n  .rm-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 10px;\r\n    margin-top: 15px;\r\n  }\r\n\r\n  .rm-item {\r\n    background-color: rgba(255, 255, 255, 0.3);\r\n    padding: 10px;\r\n    border-radius: 10px;\r\n    text-align: center;\r\n    font-weight: bold;\r\n  }\r\n\r\n  .progression-recommendation {\r\n    margin-top: 20px;\r\n    padding: 12px;\r\n    background-color: #e0ecff;\r\n    border-left: 4px solid #4a90e2;\r\n    border-radius: 8px;\r\n  }\r\n\r\n  .comparison-table {\r\n    width: 100%;\r\n    margin-top: 15px;\r\n    border-collapse: collapse;\r\n    font-size: 0.9rem;\r\n  }\r\n\r\n  .comparison-table th, .comparison-table td {\r\n    padding: 10px;\r\n    text-align: center;\r\n    border-bottom: 1px solid rgba(0, 0, 0, 0.05);\r\n  }\r\n\r\n  .comparison-table th {\r\n    background-color: #f7f9fc;\r\n  }\r\n\r\n  .warning {\r\n    color: #ff9800;\r\n    font-weight: bold;\r\n  }\r\n\r\n  .success {\r\n    color: #4caf50;\r\n    font-weight: bold;\r\n  }\r\n\r\n  .progress {\r\n    color: #ff5722;\r\n    font-weight: bold;\r\n  }\r\n<\/style>\r\n\r\n    <script>\r\n        \/\/ Funktion zur Berechnung des 1RM nach Brzycki Formel\r\n        function calculate1RM(weight, reps) {\r\n            if (reps === 1) return weight;\r\n            return weight \/ (1.0278 - 0.0278 * reps);\r\n        }\r\n        \r\n        \/\/ Funktion zur Berechnung der Wiederholungen basierend auf Gewicht und 1RM\r\n        function calculateReps(weight, oneRM) {\r\n            return (1.0278 - (weight \/ oneRM)) \/ 0.0278;\r\n        }\r\n        \r\n        \/\/ Funktion zur Berechnung des Gewichts f\u00fcr gegebene RM\r\n        function calculateWeightForRM(oneRM, targetReps) {\r\n            return oneRM * (1.0278 - 0.0278 * targetReps);\r\n        }\r\n        \r\n        \/\/ Funktion um RM-Wert zu bestimmen (z.B. 9 WDH = 9RM)\r\n        function getRMValue(reps) {\r\n            return reps;\r\n        }\r\n        \r\n        \/\/ Funktion zur Berechnung der Progressionsempfehlung\r\n        function calculateProgression(weight, reps) {\r\n            \/\/ Basierend auf der Wiederholungszahl unterschiedliche Progressionen empfehlen\r\n            if (reps <= 3) {\r\n                \/\/ Bei niedrigen Wiederholungen kleinere Steigerungen\r\n                return Math.min(2.5, weight * 0.02);\r\n            } else if (reps <= 6) {\r\n                return Math.min(5, weight * 0.025);\r\n            } else if (reps <= 10) {\r\n                return Math.min(7.5, weight * 0.03);\r\n            } else {\r\n                \/\/ Bei hohen Wiederholungen gr\u00f6\u00dfere Steigerungen\r\n                return Math.min(10, weight * 0.035);\r\n            }\r\n        }\r\n        \r\n        \/\/ Berechnet das Trainingsvolumen (Gewicht \u00d7 Wiederholungen)\r\n        function calculateVolume(weight, reps) {\r\n            return weight * reps;\r\n        }\r\n        \r\n        \/\/ Berechnet die prozentuale \u00c4nderung zwischen zwei Werten\r\n        function calculatePercentageChange(oldValue, newValue) {\r\n            return ((newValue \/ oldValue) - 1) * 100;\r\n        }\r\n        \r\n        \/\/ Funktion zum Aktualisieren der Ergebnisse\r\n        function updateResults() {\r\n            const weight = parseFloat(document.getElementById('weight').value);\r\n            const reps = parseInt(document.getElementById('reps').value);\r\n            \r\n            if (isNaN(weight) || isNaN(reps) || weight <= 0 || reps <= 0) {\r\n                document.getElementById('results').innerHTML = '<p class=\"warning\">Bitte gib g\u00fcltige Werte f\u00fcr Gewicht und Wiederholungen ein.<\/p>';\r\n                return;\r\n            }\r\n            \r\n            const oneRM = calculate1RM(weight, reps);\r\n            const progressionRecommendation = calculateProgression(weight, reps);\r\n            const recommendedNewWeight = Math.round((weight + progressionRecommendation) * 2) \/ 2; \/\/ Auf 0,5 kg runden\r\n            \r\n            \/\/ Berechne prozentuale Steigerung\r\n            const percentageIncrease = (progressionRecommendation \/ weight) * 100;\r\n            \r\n            \/\/ Berechne verschiedene RMs\r\n            const rm1 = oneRM.toFixed(1);\r\n            const rm3 = calculateWeightForRM(oneRM, 3).toFixed(1);\r\n            const rm5 = calculateWeightForRM(oneRM, 5).toFixed(1);\r\n            const rm10 = calculateWeightForRM(oneRM, 10).toFixed(1);\r\n            \r\n            \/\/ F\u00fclle automatisch das neue Gewicht-Feld aus\r\n            document.getElementById('newWeight').value = recommendedNewWeight;\r\n            \r\n            \/\/ Zeige die Ergebnisse an\r\n            let resultsHTML = `\r\n                <p>Dein gesch\u00e4tztes 1RM: <strong>${rm1} kg<\/strong><\/p>\r\n                <div class=\"rm-grid\">\r\n                     <div class=\"rm-item\">1RM: <strong  >${rm1} kg<\/strong><\/div>\r\n                    <div class=\"rm-item\">3RM: <strong>${rm3} kg<\/strong><\/div>\r\n                    <div class=\"rm-item\">5RM: <strong>${rm5} kg<\/strong><\/div>\r\n                    <div class=\"rm-item\">10RM: <strong>${rm10} kg<\/strong><\/div>\r\n                <\/div>\r\n                <div class=\"progression-recommendation\">\r\n                    <p><strong>Empfohlene Progression bei gleichbleibender WDH-Anzahl:<\/strong><\/p>\r\n                    <p>+${progressionRecommendation.toFixed(1)} kg (entspricht +${percentageIncrease.toFixed(1)}%)<\/p>\r\n                    <p>Probiere beim n\u00e4chsten Training: <strong>${recommendedNewWeight} kg \u00d7 ${reps} WDH<\/strong><\/p>\r\n                <\/div>\r\n            `;\r\n            \r\n            document.getElementById('results').innerHTML = resultsHTML;\r\n            \r\n            \/\/ Berechne auch gleich die erforderlichen Wiederholungen f\u00fcr das neue Gewicht\r\n            updateRequiredReps();\r\n        }\r\n        \r\n        \/\/ Funktion zur Berechnung der erforderlichen Wiederholungen f\u00fcr ein neues Gewicht\r\n        function updateRequiredReps() {\r\n            const weight = parseFloat(document.getElementById('weight').value);\r\n            const reps = parseInt(document.getElementById('reps').value);\r\n            const newWeight = parseFloat(document.getElementById('newWeight').value);\r\n            \r\n            if (isNaN(weight) || isNaN(reps) || isNaN(newWeight) || weight <= 0 || reps <= 0 || newWeight <= 0) {\r\n                document.getElementById('requiredRepsResult').innerHTML = '<p class=\"warning\">Bitte gib zuerst g\u00fcltige Werte oben ein und dann ein neues Gewicht.<\/p>';\r\n                return;\r\n            }\r\n            \r\n            const oneRM = calculate1RM(weight, reps);\r\n            const exactRequiredReps = calculateReps(newWeight, oneRM);\r\n            \r\n            \/\/ F\u00fcr gleichen Trainingseffekt (exakt)\r\n            const exactReps = exactRequiredReps;\r\n            \r\n            \/\/ F\u00fcr Progress: N\u00e4chsth\u00f6here ganze Zahl\r\n            const progressReps = Math.ceil(exactRequiredReps);\r\n            \r\n            \/\/ Berechne die RM-\u00c4quivalente f\u00fcr besseren Vergleich\r\n            const originalRM = getRMValue(reps);\r\n            const newExactRM = getRMValue(exactReps);\r\n            const newProgressRM = getRMValue(progressReps);\r\n            \r\n            \/\/ Berechne die prozentuale Steigerung des 1RM\r\n            const original1RM = oneRM; \r\n            const new1RM = calculate1RM(newWeight, progressReps);\r\n            const rm1Increase = calculatePercentageChange(original1RM, new1RM);\r\n            \r\n            \/\/ Berechne Volumina (nur als zus\u00e4tzliche Info)\r\n            const originalVolume = calculateVolume(weight, reps);\r\n            const exactVolume = calculateVolume(newWeight, exactReps);\r\n            const progressVolume = calculateVolume(newWeight, progressReps);\r\n            \r\n            const volumeChange = calculatePercentageChange(originalVolume, progressVolume);\r\n            \r\n            if (exactReps <= 0) {\r\n                document.getElementById('requiredRepsResult').innerHTML = `\r\n                    <p class=\"warning\">Das neue Gewicht (${newWeight} kg) ist zu schwer f\u00fcr dich.<\/p>\r\n                    <p>Dein gesch\u00e4tztes 1RM liegt bei ${oneRM.toFixed(1)} kg.<\/p>\r\n                `;\r\n                return;\r\n            }\r\n            \r\n            let resultsHTML = `\r\n                <p><strong>Vergleich: ${weight} kg \u00d7 ${reps} WDH vs. ${newWeight} kg<\/strong><\/p>\r\n                \r\n                <table class=\"comparison-table\">\r\n                    <tr>\r\n                        <th>Option<\/th>\r\n                        <th>WDH<\/th>\r\n                        <th>Relative St\u00e4rke<\/th>\r\n                        <th>1RM<\/th>\r\n                    <\/tr>\r\n                    <tr>\r\n                        <td>Original<\/td>\r\n                        <td>${reps} (${originalRM}RM)<\/td>\r\n                        <td>100%<\/td>\r\n                        <td>${original1RM.toFixed(1)} kg<\/td>\r\n                    <\/tr>\r\n                    <tr>\r\n                        <td>Gleiches Niveau<\/td>\r\n                        <td>${exactReps.toFixed(2)}<\/td>\r\n                        <td>100%<\/td>\r\n                        <td>${original1RM.toFixed(1)} kg<\/td>\r\n                    <\/tr>\r\n                    <tr class=\"progress\">\r\n                        <td>F\u00fcr Progress<\/td>\r\n                        <td><strong>${progressReps} (${newProgressRM}RM)<\/strong><\/td>\r\n                        <td>+${rm1Increase.toFixed(1)}%<\/td>\r\n                        <td>${new1RM.toFixed(1)} kg<\/td>\r\n                    <\/tr>\r\n                <\/table>\r\n                \r\n                <p class=\"success\" style=\"margin-top: 15px;\">\r\n                    <strong>Empfehlung f\u00fcr Progress:<\/strong> Mache ${progressReps} Wiederholungen mit ${newWeight} kg\r\n                <\/p>\r\n                \r\n                <p style=\"margin-top: 10px; font-size: 0.9em;\">\r\n                    Hinweis zum Volumen: ${weight} \u00d7 ${reps} = ${originalVolume} kg vs. \r\n                    ${newWeight} \u00d7 ${progressReps} = ${progressVolume} kg (${volumeChange > 0 ? '+' : ''}${volumeChange.toFixed(1)}%)\r\n                <\/p>\r\n            `;\r\n            \r\n            document.getElementById('requiredRepsResult').innerHTML = resultsHTML;\r\n        }\r\n    <\/script>\r\n  <\/div>\r\n\r\n  <!-- Inhalt: Makros -->\r\n<!-- Smarter Makrorechner V2.2 -->\r\n<div id=\"macros\" class=\"tab-content\">\r\n  <div class=\"glass-card\">\r\n    <h2>\ud83c\udf2f Smarter Makrorechner v2.2<\/h2>\r\n\r\n    <input id=\"age\" type=\"number\" placeholder=\"Alter (z. B. 25)\">\r\n    <input id=\"bodyweight\" type=\"number\" placeholder=\"Gewicht (kg)\">\r\n    <input id=\"height\" type=\"number\" placeholder=\"Gr\u00f6\u00dfe (cm)\">\r\n\r\n    <select id=\"gender\">\r\n      <option value=\"male\">M\u00e4nnlich<\/option>\r\n      <option value=\"female\">Weiblich<\/option>\r\n    <\/select>\r\n\r\n    <input id=\"dailySteps\" type=\"number\" placeholder=\"Durchschnittliche Schritte pro Tag\">\r\n\r\n    <label>Krafttraining pro Woche:<\/label>\r\n    <input id=\"strengthDays\" type=\"number\" placeholder=\"Tage pro Woche (z. B. 3)\">\r\n    <input id=\"strengthMinutes\" type=\"number\" placeholder=\"Minuten pro Einheit (z. B. 90)\">\r\n\r\n    <label>Cardio pro Woche:<\/label>\r\n    <input id=\"cardioDays\" type=\"number\" placeholder=\"Tage pro Woche (z. B. 2)\">\r\n    <input id=\"cardioMinutes\" type=\"number\" placeholder=\"Minuten pro Einheit (z. B. 45)\">\r\n\r\n    <select id=\"goal\">\r\n      <option value=\"halten\">Gewicht halten<\/option>\r\n      <option value=\"abnehmen\">Abnehmen (-500 kcal)<\/option>\r\n      <option value=\"zunehmen\">Zunehmen (+300 kcal)<\/option>\r\n    <\/select>\r\n\r\n    <select id=\"dietStyle\">\r\n      <option value=\"classic\">Klassisch<\/option>\r\n      <option value=\"lowCarb\">Low Carb<\/option>\r\n      <option value=\"highCarb\">High Carb<\/option>\r\n      <option value=\"keto\">Keto<\/option>\r\n    <\/select>\r\n\r\n    <button onclick=\"calculateMacros()\">Makros berechnen<\/button>\r\n    <div id=\"macroResults\" class=\"result-box\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .glass-card {\r\n    background: rgba(255, 255, 255, 0.6);\r\n    backdrop-filter: blur(12px);\r\n    -webkit-backdrop-filter: blur(12px);\r\n    border-radius: 20px;\r\n    padding: 30px;\r\n    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n    border: 1px solid rgba(255, 255, 255, 0.2);\r\n    color: #2a2a2a;\r\n    font-family: Arial, sans-serif;\r\n    max-width: 700px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n  }\r\n\r\n  .glass-card h2 {\r\n    font-size: 1.6rem;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .glass-card input,\r\n  .glass-card select {\r\n    width: 100%;\r\n    padding: 12px;\r\n    margin-top: 10px;\r\n    border-radius: 25px;\r\n    border: none;\r\n    background: #f1f3f8;\r\n    text-align: center;\r\n    font-size: 1rem;\r\n    color: #2a2a2a;\r\n  }\r\n\r\n  .glass-card button {\r\n    width: 100%;\r\n    padding: 12px;\r\n    margin-top: 20px;\r\n    background-color: #4a90e2;\r\n    color: white;\r\n    font-weight: bold;\r\n    border: none;\r\n    border-radius: 25px;\r\n    cursor: pointer;\r\n    transition: background-color 0.3s ease;\r\n  }\r\n\r\n  .glass-card button:hover {\r\n    background-color: #3366cc;\r\n  }\r\n\r\n  .result-box {\r\n    margin-top: 25px;\r\n    padding: 20px;\r\n    background-color: rgba(255, 255, 255, 0.4);\r\n    border-radius: 12px;\r\n    text-align: left;\r\n    font-size: 0.95rem;\r\n  }\r\n\r\n  .result-box ul {\r\n    margin-left: 20px;\r\n  }\r\n\r\n  .warning {\r\n    color: #ff9800;\r\n    font-weight: bold;\r\n  }\r\n\r\n  .success {\r\n    color: #4caf50;\r\n    font-weight: bold;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n\/\/ Globale Variablen f\u00fcr die Speicherung der Ergebnisse\r\nlet macroToggleButtons = \"\";\r\nlet macroAverageHTML = \"\";\r\nlet calculatedMacros = {\r\n  calories: 0,\r\n  proteinGrams: 0,\r\n  fatGrams: 0,\r\n  carbGrams: 0,\r\n  BMR: 0,\r\n  stepCalories: 0,\r\n  strengthCalories: 0,\r\n  cardioCalories: 0,\r\n  strengthDays: 0,\r\n  cardioDays: 0,\r\n  warningMessage: \"\",\r\n  motivationMessage: \"\"\r\n};\r\n\r\nlet currentMode = 'average'; \/\/ Speichern des aktuellen Anzeigemodus\r\n\r\nfunction calculateMacros() {\r\n  const age = parseFloat(document.getElementById('age').value);\r\n  const weight = parseFloat(document.getElementById('bodyweight').value);\r\n  const height = parseFloat(document.getElementById('height').value);\r\n  const gender = document.getElementById('gender').value;\r\n  const dailySteps = parseFloat(document.getElementById('dailySteps').value) || 0;\r\n  const strengthDays = parseFloat(document.getElementById('strengthDays').value) || 0;\r\n  const strengthMinutes = parseFloat(document.getElementById('strengthMinutes').value) || 0;\r\n  const cardioDays = parseFloat(document.getElementById('cardioDays').value) || 0;\r\n  const cardioMinutes = parseFloat(document.getElementById('cardioMinutes').value) || 0;\r\n  const goal = document.getElementById('goal').value;\r\n  const dietStyle = document.getElementById('dietStyle').value;\r\n\r\n  \/\/ Validierung der Eingaben\r\n  if ([age, weight, height].some(v => isNaN(v) || v <= 0)) {\r\n    document.getElementById('macroResults').innerHTML = `<p class=\"warning\">Bitte alle Daten korrekt eingeben!<\/p>`;\r\n    return;\r\n  }\r\n\r\n  \/\/ BMI berechnen und Warnung bei extremen Werten\r\n  const bmi = weight \/ ((height \/ 100) ** 2);\r\n  let warningMessage = \"\";\r\n  if ((gender === \"male\" && bmi < 16) || (gender === \"female\" && bmi < 15)) {\r\n    warningMessage = `<p class=\"warning\">\u26a0\ufe0f Sehr niedriger BMI (${bmi.toFixed(1)}). Bitte \u00e4rztlich abkl\u00e4ren.<\/p>`;\r\n  } else if (bmi > 40) {\r\n    warningMessage = `<p class=\"warning\">\u26a0\ufe0f Sehr hoher BMI (${bmi.toFixed(1)}). Gesundheitliche Risiken m\u00f6glich.<\/p>`;\r\n  }\r\n\r\n  \/\/ Grundumsatz berechnen\r\n  let BMR = gender === 'male'\r\n    ? (88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age))\r\n    : (447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age));\r\n\r\n  \/\/ Kalorienverbrauch berechnen\r\n  const stepCalories = 0.0005 * weight * dailySteps;\r\n  const strengthCalories = strengthDays * (strengthMinutes \/ 60) * 6 * weight;\r\n  const cardioCalories = cardioDays * (cardioMinutes \/ 60) * 7 * weight;\r\n\r\n  let calories = BMR + stepCalories + (strengthCalories + cardioCalories) \/ 7;\r\n\r\n  \/\/ Kalorienanpassung je nach Ziel\r\n  calories += goal === 'abnehmen' ? -500 : goal === 'zunehmen' ? 300 : 0;\r\n  calories = Math.round(calories);\r\n\r\n  \/\/ Makros berechnen\r\n  let proteinGrams, fatGrams, carbGrams;\r\n  \r\n  if (dietStyle === \"keto\") {\r\n    fatGrams = Math.round((calories * 0.7) \/ 9);\r\n    proteinGrams = Math.round((calories * 0.25) \/ 4);\r\n    carbGrams = Math.round((calories * 0.05) \/ 4);\r\n  } else {\r\n    const factors = {\r\n      'abnehmen': { protein: 2.4, fat: 0.8 },\r\n      'zunehmen': { protein: 2.1, fat: 0.9 },\r\n      'halten': { protein: 2.0, fat: 0.9 }\r\n    }[goal];\r\n    \r\n    proteinGrams = Math.round(weight * factors.protein);\r\n    fatGrams = Math.round(weight * factors.fat);\r\n    carbGrams = Math.round((calories - proteinGrams * 4 - fatGrams * 9) \/ 4);\r\n\r\n    \/\/ Anpassung je nach Ern\u00e4hrungsstil\r\n    if (dietStyle === \"lowCarb\") {\r\n      fatGrams = Math.round(fatGrams * 1.2);\r\n      carbGrams = Math.round(carbGrams * 0.8);\r\n    } else if (dietStyle === \"highCarb\") {\r\n      fatGrams = Math.round(fatGrams * 0.8);\r\n      carbGrams = Math.round(carbGrams * 1.2);\r\n    }\r\n  }\r\n\r\n  \/\/ Mahlzeitenplan berechnen\r\n  const meals = proteinGrams <= 120 ? 3 : proteinGrams <= 180 ? 4 : 5;\r\n  const proteinPerMeal = Math.round(proteinGrams \/ meals);\r\n  const fatPerMeal = Math.round(fatGrams \/ meals);\r\n  const carbsPerMeal = Math.round(carbGrams \/ meals);\r\n  const carbPrePost = strengthDays > 0 ? Math.round(carbGrams * 0.4) : 0;\r\n  const carbOtherMeals = strengthDays > 0 ? Math.round((carbGrams * 0.6) \/ (meals - 1)) : carbsPerMeal;\r\n\r\n  \/\/ Motivationstext\r\n  let motivationMessage = \"\";\r\n  if (!warningMessage) {\r\n    motivationMessage = `<p class=\"success\">\ud83d\ude80 ${goal === 'abnehmen' ? \"Bleib dran, Geduld ist der Schl\u00fcssel \ud83d\udd25\" : goal === 'zunehmen' ? \"Mehr Muskeln & Power \u2013 du schaffst das! \ud83d\udcaa\" : \"Top! Balance ist der Schl\u00fcssel zum Erfolg \u2705\"}<\/p>`;\r\n  }\r\n\r\n  \/\/ Speichern der berechneten Werte in den globalen Variablen\r\n  calculatedMacros = {\r\n    calories,\r\n    proteinGrams,\r\n    fatGrams,\r\n    carbGrams,\r\n    BMR,\r\n    stepCalories,\r\n    strengthCalories,\r\n    cardioCalories,\r\n    strengthDays,\r\n    cardioDays,\r\n    warningMessage,\r\n    motivationMessage\r\n  };\r\n\r\n  \/\/ Toggle-Buttons erstellen\r\n  macroToggleButtons = `\r\n    <div style=\"text-align: center; margin-bottom: 20px;\">\r\n      <strong>Makro-Anzeige:<\/strong>\r\n      <button id='btn-average' onclick=\"toggleMacroMode('average')\" style=\"margin: 5px; background: #4a90e2; color: #fff; border: none; padding: 8px 14px; border-radius: 20px; cursor: pointer;\">Durchschnitt<\/button>\r\n      <button id='btn-split' onclick=\"toggleMacroMode('split')\" style=\"margin: 5px; background: #f1f3f8; color: #2a2a2a; border: none; padding: 8px 14px; border-radius: 20px; cursor: pointer;\">Training \/ Restdays<\/button>\r\n    <\/div>\r\n  `;\r\n\r\n  \/\/ HTML f\u00fcr die Durchschnittsansicht erstellen\r\n  macroAverageHTML = `\r\n    ${warningMessage}\r\n    <h3>\ud83d\udd25 Kalorien\u00fcbersicht<\/h3>\r\n    <ul>\r\n      <li>\ud83c\udfaf <strong>Gesamt (inkl. Zielanpassung):<\/strong> ${calories} kcal\/Tag<\/li>\r\n      <li>\ud83d\udcca <strong>Grundumsatz (BMR):<\/strong> ${Math.round(BMR)} kcal<\/li>\r\n      <li>\ud83d\udeb6 <strong>Schritte:<\/strong> ${dailySteps} \u279c ~${Math.round(stepCalories)} kcal<\/li>\r\n      <li>\ud83c\udfcb\ufe0f <strong>Krafttraining (\u00d8 pro Tag):<\/strong> ~${Math.round(strengthCalories \/ 7)} kcal<\/li>\r\n      <li>\ud83c\udfc3 <strong>Cardio (\u00d8 pro Tag):<\/strong> ~${Math.round(cardioCalories \/ 7)} kcal<\/li>\r\n\r\n    <\/ul>\r\n\r\n    <h3>\ud83e\udd57 Makron\u00e4hrstoffe<\/h3>\r\n    <ul>\r\n       <li>\ud83c\udf57 <strong>Eiwei\u00df:<\/strong> ${proteinGrams} g<\/li>\r\n       <li>\ud83e\udd51 <strong>Fett:<\/strong> ${fatGrams} g<\/li>\r\n       <li>\ud83c\udf5a <strong>Kohlenhydrate:<\/strong> ${carbGrams} g<\/li>\r\n    <\/ul>\r\n\r\n\r\n    <h3>\ud83c\udf7d\ufe0f Mahlzeitenaufteilung<\/h3>\r\n    <p><strong>Anzahl Mahlzeiten:<\/strong> ${meals}<\/p>\r\n    <ul>\r\n       <li>\ud83e\udd69 <strong>Protein pro Mahlzeit:<\/strong> ${proteinPerMeal} g<\/li>\r\n       <li>\ud83e\udd51 <strong>Fett pro Mahlzeit:<\/strong> ${fatPerMeal} g<\/li>\r\n       <li>\ud83c\udf5a <strong>Kohlenhydrate pro Mahlzeit:<\/strong> ${carbsPerMeal} g<\/li>\r\n    <\/ul>\r\n    \r\n    ${strengthDays > 0 ? `<h3>\ud83d\udcaa Trainingstage:<\/h3>\r\n    <p>\u27a1\ufe0f Davon je eine Mahlzeit vor und nach dem Training mit: <strong>${Math.round(carbPrePost \/ 2)} g Kohlenhydrate<\/strong> pro Mahlzeit<\/p>` : \"\"}\r\n\r\n    <h3>\ud83d\udca1 Ern\u00e4hrungstipps:<\/h3>\r\n    <ul>\r\n      <li>Carbs rund ums Training essen<\/li>\r\n      <li>Mehr Fett morgens & abends f\u00fcr Hormonbalance<\/li>\r\n      <li>Protein gleichm\u00e4\u00dfig \u00fcber den Tag verteilen<\/li>\r\n    <\/ul>\r\n    ${motivationMessage}\r\n  `;\r\n\r\n  \/\/ Standardm\u00e4\u00dfig die Durchschnittsansicht anzeigen oder den vorherigen Modus beibehalten\r\n  currentMode = 'average'; \/\/ Zur\u00fccksetzen auf Standard bei neuer Berechnung\r\n  document.getElementById('macroResults').innerHTML = macroToggleButtons + macroAverageHTML;\r\n  \r\n  \/\/ Button-Styling aktualisieren\r\n  setTimeout(() => {\r\n    const avgBtn = document.getElementById('btn-average');\r\n    const splitBtn = document.getElementById('btn-split');\r\n    if (avgBtn && splitBtn) {\r\n      avgBtn.style.background = '#4a90e2';\r\n      avgBtn.style.color = '#fff';\r\n      splitBtn.style.background = '#f1f3f8';\r\n      splitBtn.style.color = '#2a2a2a';\r\n    }\r\n  }, 10);\r\n}\r\n\r\nfunction toggleMacroMode(mode) {\r\n  \/\/ Aktualisierer Modus speichern\r\n  currentMode = mode;\r\n  \r\n  \/\/ Pr\u00fcfen ob Werte berechnet wurden\r\n  if (calculatedMacros.calories === 0) {\r\n    \/\/ Falls nicht, Warnung anzeigen und Aufforderung zur Berechnung\r\n    document.getElementById('macroResults').innerHTML = `<p class=\"warning\">Bitte zuerst die Makros berechnen!<\/p>`;\r\n    return;\r\n  }\r\n  \r\n  const avgBtn = document.getElementById('btn-average');\r\n  const splitBtn = document.getElementById('btn-split');\r\n  \r\n  \/\/ Button-Styles \u00e4ndern\r\n  if (avgBtn && splitBtn) {\r\n    avgBtn.style.background = mode === 'average' ? '#4a90e2' : '#f1f3f8';\r\n    avgBtn.style.color = mode === 'average' ? '#fff' : '#2a2a2a';\r\n    splitBtn.style.background = mode === 'split' ? '#4a90e2' : '#f1f3f8';\r\n    splitBtn.style.color = mode === 'split' ? '#fff' : '#2a2a2a';\r\n  }\r\n\r\n  const macroBox = document.getElementById('macroResults');\r\n  \r\n  if (mode === 'average') {\r\n    \/\/ Durchschnittsansicht anzeigen\r\n    macroBox.innerHTML = macroToggleButtons + macroAverageHTML;\r\n    \r\n    \/\/ Button-Styling aktualisieren\r\n    setTimeout(() => {\r\n      const avgBtn = document.getElementById('btn-average');\r\n      const splitBtn = document.getElementById('btn-split');\r\n      if (avgBtn && splitBtn) {\r\n        avgBtn.style.background = '#4a90e2';\r\n        avgBtn.style.color = '#fff';\r\n        splitBtn.style.background = '#f1f3f8';\r\n        splitBtn.style.color = '#2a2a2a';\r\n      }\r\n    }, 10);\r\n  } else {\r\n    \/\/ Split-Ansicht anzeigen mit korrekten Werten\r\n    const trainingDays = Math.min(7, calculatedMacros.strengthDays); \/\/ NUR Krafttraining als Trainingstage z\u00e4hlen\r\n    const restDays = 7 - trainingDays;\r\n    \r\n    if (trainingDays <= 0) {\r\n      \/\/ Wenn keine Trainingstage, dann einfach die Durchschnittsansicht mit Hinweis anzeigen\r\n      macroBox.innerHTML = macroToggleButtons + macroAverageHTML + \r\n        `<p class=\"warning\">Keine Krafttraining-Tage angegeben - keine Aufteilung m\u00f6glich.<\/p>`;\r\n      \r\n      \/\/ Button-Styling aktualisieren\r\n      setTimeout(() => {\r\n        const avgBtn = document.getElementById('btn-average');\r\n        if (avgBtn) {\r\n          avgBtn.style.background = '#4a90e2';\r\n          avgBtn.style.color = '#fff';\r\n        }\r\n      }, 10);\r\n      return;\r\n    }\r\n    \r\n    \/\/ Moderate Anpassung der Kohlenhydrate (60-80g Unterschied statt extremer Werte)\r\n    const baseCarbs = calculatedMacros.carbGrams;\r\n    \r\n    \/\/ Bei niedrigem Kohlenhydrat-Niveau eine geringere Anpassung machen\r\n    let carbAdjustment = 0;\r\n    if (baseCarbs < 100) {\r\n      carbAdjustment = 20; \/\/ Geringe Anpassung bei niedrigen Carbs\r\n    } else if (baseCarbs < 200) {\r\n      carbAdjustment = 40; \/\/ Mittlere Anpassung\r\n    } else {\r\n      carbAdjustment = 60; \/\/ H\u00f6here Anpassung bei hohen Carbs\r\n    }\r\n    \r\n    \/\/ Kohlenhydratanpassung berechnen\r\n    const trainingCarbs = Math.min(baseCarbs + carbAdjustment, baseCarbs * 1.3); \/\/ Maximal 30% mehr\r\n    const totalWeeklyCarbs = baseCarbs * 7; \/\/ Gesamtkohlenhydrate pro Woche\r\n    const totalTrainingCarbs = trainingCarbs * trainingDays;\r\n    const remainingCarbs = totalWeeklyCarbs - totalTrainingCarbs;\r\n    const restCarbs = Math.max(baseCarbs * 0.5, Math.round(remainingCarbs \/ restDays)); \/\/ Mindestens 50% der durchschnittlichen Carbs\r\n\r\n    \/\/ Kalorien f\u00fcr beide Tagestypen berechnen\r\n    const baseProtein = calculatedMacros.proteinGrams;\r\n    const baseFat = calculatedMacros.fatGrams;\r\n    const calTraining = baseProtein * 4 + baseFat * 9 + trainingCarbs * 4;\r\n    const calRest = baseProtein * 4 + baseFat * 9 + restCarbs * 4;\r\n    \r\n    \/\/ Wochendurchschnitt berechnen\r\n    const weeklyAvg = Math.round((calTraining * trainingDays + calRest * restDays) \/ 7);\r\n\r\n    \/\/ HTML f\u00fcr die Split-Ansicht erstellen\r\n    macroBox.innerHTML = macroToggleButtons + `\r\n      ${calculatedMacros.warningMessage}\r\n      <h3>\ud83d\udcc6 Getrennte Makroverteilung<\/h3>\r\n      <p><strong>Krafttraining-Tage (${trainingDays}x\/Woche)<\/strong>:<\/p>\r\n      <ul>\r\n        <li>\ud83c\udf57 Protein: ${baseProtein} g<\/li>\r\n        <li>\ud83e\udd51 Fett: ${baseFat} g<\/li>\r\n        <li>\ud83c\udf5a Kohlenhydrate: ${Math.round(trainingCarbs)} g<\/li>\r\n        <li>\ud83d\udd25 Kalorien: ~${Math.round(calTraining)} kcal<\/li>\r\n      <\/ul>\r\n      <p><strong>Restdays (${restDays}x\/Woche)<\/strong>:<\/p>\r\n      <ul>\r\n        <li>\ud83c\udf57 Protein: ${baseProtein} g<\/li>\r\n        <li>\ud83e\udd51 Fett: ${baseFat} g<\/li>\r\n        <li>\ud83c\udf5a Kohlenhydrate: ${Math.round(restCarbs)} g<\/li>\r\n        <li>\ud83d\udd25 Kalorien: ~${Math.round(calRest)} kcal<\/li>\r\n      <\/ul>\r\n      <p><em>Wochendurchschnitt: ~${weeklyAvg} kcal\/Tag<\/em><\/p>\r\n      \r\n      <h3>\ud83d\udca1 Wichtige Hinweise:<\/h3>\r\n      <ul>\r\n        <li>Cardio-Verbrauch ist bereits in deinen Tageskalorien ber\u00fccksichtigt<\/li>\r\n        <li>An Trainingstagen Kohlenhydrate vor allem vor und nach dem Training essen<\/li>\r\n        <li>An Ruhetagen Kohlenhydrate eher morgens zu dir nehmen<\/li>\r\n      <\/ul>\r\n      ${calculatedMacros.motivationMessage}\r\n    `;\r\n    \r\n    \/\/ Button-Styling aktualisieren\r\n    setTimeout(() => {\r\n      const avgBtn = document.getElementById('btn-average');\r\n      const splitBtn = document.getElementById('btn-split');\r\n      if (avgBtn && splitBtn) {\r\n        avgBtn.style.background = '#f1f3f8';\r\n        avgBtn.style.color = '#2a2a2a';\r\n        splitBtn.style.background = '#4a90e2';\r\n        splitBtn.style.color = '#fff';\r\n      }\r\n    }, 10);\r\n  }\r\n}\r\n<\/script>\r\n\r\n  <\/div>\r\n   <!-- Inhalt: FFMI -->\r\n  <div id=\"ffmi\" class=\"tab-content\">\r\n<div class=\"glass-card ffmi\">\r\n  <h2>\ud83d\udcca FFMI Rechner v1.3 <\/h2>\r\n  <p class=\"subtitle\">Wie viel Muskeln hast du wirklich?<\/p>\r\n\r\n  <!-- Eingabefelder -->\r\n  <div class=\"input-group\">\r\n    <label>Geschlecht:<\/label>\r\n    <div class=\"toggle-container\">\r\n      <input type=\"radio\" id=\"male\" name=\"gender\" value=\"male\" checked>\r\n      <label for=\"male\" class=\"toggle-btn\">M\u00e4nnlich<\/label>\r\n      <input type=\"radio\" id=\"female\" name=\"gender\" value=\"female\">\r\n      <label for=\"female\" class=\"toggle-btn\">Weiblich<\/label>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"input-group\">\r\n    <label for=\"height\">K\u00f6rpergr\u00f6\u00dfe (cm):<\/label>\r\n    <input type=\"number\" id=\"height\" placeholder=\"180\">\r\n  <\/div>\r\n\r\n  <div class=\"input-group\">\r\n    <label for=\"weight\">Gewicht (kg):<\/label>\r\n    <input type=\"number\" id=\"weight\" placeholder=\"80\">\r\n  <\/div>\r\n\r\n  <div class=\"input-group\">\r\n    <label for=\"bodyfat\">K\u00f6rperfett (%):<\/label>\r\n    <input type=\"number\" id=\"bodyfat\" placeholder=\"15\">\r\n    <div class=\"range-slider\">\r\n      <input type=\"range\" id=\"bodyfat-slider\" min=\"2\" max=\"50\" step=\"0.1\" value=\"15\">\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <button onclick=\"calculateFFMI()\">FFMI berechnen<\/button>\r\n\r\n  <div id=\"results\" class=\"result-box\">\r\n    <p>Gib deine Daten ein und starte die Berechnung<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"divider\"><\/div>\r\n\r\n  <!-- Skala -->\r\n  <h3 class=\"mt-4\">FFMI-Vergleich<\/h3>\r\n  <div class=\"ffmi-scale\">\r\n    <div class=\"scale-marker\" style=\"left: 0%\"><span>16<\/span><\/div>\r\n    <div class=\"scale-marker\" style=\"left: 25%\"><span>19<\/span><\/div>\r\n    <div class=\"scale-marker\" style=\"left: 50%\"><span>22<\/span><\/div>\r\n    <div class=\"scale-marker\" style=\"left: 75%\"><span>25<\/span><\/div>\r\n    <div class=\"scale-marker\" style=\"left: 100%\"><span>28+<\/span><\/div>\r\n    <div id=\"your-ffmi-marker\" class=\"your-marker\" style=\"left: 50%\">Du<\/div>\r\n    <div class=\"scale-bar\">\r\n      <div class=\"scale-level\">Schlank<\/div>\r\n      <div class=\"scale-level\">Sportlich<\/div>\r\n      <div class=\"scale-level\">Sehr muskul\u00f6s<\/div>\r\n      <div class=\"scale-level\">Extrem muskul\u00f6s<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"divider\"><\/div>\r\n\r\n  <!-- Zielk\u00f6rper-Bereich -->\r\n  <h3>Zielk\u00f6rper berechnen<\/h3>\r\n  <div class=\"goal-tabs\">\r\n    <input type=\"radio\" id=\"tab-weight\" name=\"goal-type\" checked>\r\n    <label for=\"tab-weight\" class=\"tab-btn\">Zielgewicht<\/label>\r\n    <input type=\"radio\" id=\"tab-bodyfat\" name=\"goal-type\">\r\n    <label for=\"tab-bodyfat\" class=\"tab-btn\">Ziel-KFA<\/label>\r\n    <input type=\"radio\" id=\"tab-ffmi\" name=\"goal-type\">\r\n    <label for=\"tab-ffmi\" class=\"tab-btn\">Ziel-FFMI<\/label>\r\n  <\/div>\r\n\r\n  <div class=\"goal-content\">\r\n    <div id=\"weight-goal\" class=\"goal-panel\">\r\n      <label for=\"target-weight\">Zielgewicht (kg):<\/label>\r\n      <input type=\"number\" id=\"target-weight\" placeholder=\"85\">\r\n      <button onclick=\"calculateWeightGoal()\">Berechnen<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"bodyfat-goal\" class=\"goal-panel\">\r\n      <label for=\"target-bodyfat\">Ziel-KFA (%):<\/label>\r\n      <input type=\"number\" id=\"target-bodyfat\" placeholder=\"10\">\r\n      <div class=\"range-slider\">\r\n        <input type=\"range\" id=\"target-bodyfat-slider\" min=\"2\" max=\"50\" step=\"0.1\" value=\"10\">\r\n      <\/div>\r\n      <button onclick=\"calculateBodyfatGoal()\">Berechnen<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"ffmi-goal\" class=\"goal-panel\">\r\n      <label for=\"target-ffmi\">Ziel-FFMI:<\/label>\r\n      <input type=\"number\" id=\"target-ffmi\" placeholder=\"23\">\r\n      <button onclick=\"calculateFFMIGoal()\">Berechnen<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div id=\"goal-results\" class=\"result-box\">\r\n    <p>Gib dein Ziel ein und klicke auf \u201eBerechnen\u201c<\/p>\r\n  <\/div>\r\n\r\n  <!-- Info-Section -->\r\n  <div class=\"info-section\">\r\n    <div class=\"info-toggle\">\u2139\ufe0f Was ist FFMI?<\/div>\r\n    <div class=\"info-content\">\r\n      <p>Der <strong>Fat-Free Mass Index<\/strong> (FFMI) zeigt, wie viel Muskelmasse du \u2013 unabh\u00e4ngig von Fett \u2013 auf deiner K\u00f6rpergr\u00f6\u00dfe tr\u00e4gst.<\/p>\r\n      <p>Formel: <code>FFMI = fettfreie Masse \/ Gr\u00f6\u00dfe\u00b2<\/code><\/p>\r\n      <p>Bei K\u00f6rpergr\u00f6\u00dfe \u00fcber 1.83\u202fm wird FFMI korrigiert.<\/p>\r\n      <ul>\r\n        <li>16\u201318: Schlank<\/li>\r\n        <li>18\u201321: Sportlich<\/li>\r\n        <li>21\u201324: Sehr muskul\u00f6s<\/li>\r\n        <li>24+: Extrem (ggf. nicht natural)<\/li>\r\n      <\/ul>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .glass-card.ffmi {\r\n    max-width: 700px;\r\n    margin: 0 auto;\r\n    padding: 30px;\r\n    background: rgba(255, 255, 255, 0.6);\r\n    border-radius: 20px;\r\n    backdrop-filter: blur(12px);\r\n    -webkit-backdrop-filter: blur(12px);\r\n    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n    border: 1px solid rgba(255, 255, 255, 0.2);\r\n    color: #2a2a2a;\r\n    font-family: Arial, sans-serif;\r\n  }\r\n\r\n  .ffmi .subtitle {\r\n    font-size: 0.9rem;\r\n    opacity: 0.8;\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .ffmi input[type=\"number\"],\r\n  .ffmi select {\r\n    width: 100%;\r\n    padding: 10px;\r\n    margin-top: 10px;\r\n    border: none;\r\n    background-color: #f1f3f8;\r\n    color: #2a2a2a;\r\n    border-radius: 25px;\r\n    text-align: center;\r\n  }\r\n\r\n  .ffmi button {\r\n    width: 100%;\r\n    padding: 12px;\r\n    margin-top: 15px;\r\n    background-color: #4a90e2;\r\n    color: white;\r\n    font-weight: bold;\r\n    border: none;\r\n    border-radius: 25px;\r\n    cursor: pointer;\r\n    transition: background-color 0.3s ease;\r\n  }\r\n\r\n  .ffmi button:hover {\r\n    background-color: #3366cc;\r\n  }\r\n\r\n  .toggle-container {\r\n    display: flex;\r\n    gap: 10px;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .toggle-btn {\r\n    flex: 1;\r\n    padding: 16px 10px;\r\n    text-align: center;\r\n    background: #f1f3f8;\r\n    color: #333;\r\n    border-radius: 25px;\r\n    cursor: pointer;\r\n    font-weight: bold;\r\n  }\r\n\r\n  input[type=\"radio\"]:checked + .toggle-btn {\r\n    background-color: #4a90e2;\r\n    color: white;\r\n  }\r\n\r\n  .result-box {\r\n    margin-top: 20px;\r\n    padding: 20px;\r\n    background: rgba(255, 255, 255, 0.4);\r\n    border-radius: 12px;\r\n    text-align: left;\r\n  }\r\n\r\n  .result-highlight {\r\n    font-size: 1.8rem;\r\n    font-weight: bold;\r\n    margin: 10px 0;\r\n  }\r\n\r\n  .divider {\r\n    margin: 30px 0;\r\n    border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n  }\r\n\r\n  .ffmi-scale {\r\n    position: relative;\r\n    height: 80px;\r\n    background: linear-gradient(to right, #4CAF50, #2196F3, #FF9800, #F44336);\r\n    border-radius: 10px;\r\n    margin-top: 15px;\r\n  }\r\n\r\n  .scale-marker {\r\n    position: absolute;\r\n    top: -25px;\r\n    transform: translateX(-50%);\r\n  }\r\n\r\n  .scale-marker span {\r\n    font-size: 0.8rem;\r\n  }\r\n\r\n  .your-marker {\r\n    position: absolute;\r\n    top: 16px;\r\n    background: white;\r\n    color: #333;\r\n    font-weight: bold;\r\n    padding: 6px 10px;\r\n    border-radius: 6px;\r\n    transform: translateX(-50%);\r\n  }\r\n\r\n  .your-marker::after {\r\n    content: '';\r\n    position: absolute;\r\n    top: 100%;\r\n    left: 50%;\r\n    margin-left: -5px;\r\n    border: 5px solid transparent;\r\n    border-top-color: white;\r\n  }\r\n\r\n  .scale-bar {\r\n    position: absolute;\r\n    bottom: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    display: flex;\r\n    font-size: 0.75rem;\r\n  }\r\n\r\n  .scale-level {\r\n    flex: 1;\r\n    text-align: center;\r\n    padding: 5px 0;\r\n  }\r\n\r\n  .goal-tabs {\r\n    display: flex;\r\n    margin-top: 10px;\r\n    margin-bottom: 15px;\r\n  }\r\n\r\n  .goal-tabs input[type=\"radio\"] {\r\n    display: none;\r\n  }\r\n\r\n  .tab-btn {\r\n    flex: 1;\r\n    text-align: center;\r\n    padding: 10px 0;\r\n    background-color: #ddd;\r\n    border-radius: 5px 5px 0 0;\r\n    cursor: pointer;\r\n    font-weight: bold;\r\n    transition: background-color 0.3s ease;\r\n  }\r\n\r\n  input#tab-weight:checked ~ .tab-btn[for=\"tab-weight\"],\r\n  input#tab-bodyfat:checked ~ .tab-btn[for=\"tab-bodyfat\"],\r\n  input#tab-ffmi:checked ~ .tab-btn[for=\"tab-ffmi\"] {\r\n    background-color: #4a90e2;\r\n    color: white;\r\n  }\r\n\r\n  .goal-panel {\r\n    display: none;\r\n  }\r\n\r\n  #tab-weight:checked ~ .goal-content #weight-goal,\r\n  #tab-bodyfat:checked ~ .goal-content #bodyfat-goal,\r\n  #tab-ffmi:checked ~ .goal-content #ffmi-goal {\r\n    display: block;\r\n  }\r\n\r\n  .info-section {\r\n    margin-top: 25px;\r\n    background: rgba(0, 0, 0, 0.05);\r\n    border-radius: 10px;\r\n  }\r\n\r\n  .info-toggle {\r\n    padding: 12px;\r\n    font-weight: bold;\r\n    cursor: pointer;\r\n    background: #f1f3f8;\r\n    border-radius: 10px 10px 0 0;\r\n  }\r\n\r\n  .info-content {\r\n    max-height: 0;\r\n    overflow: hidden;\r\n    transition: max-height 0.4s ease;\r\n    padding: 0 15px;\r\n  }\r\n\r\n  .info-content.active {\r\n    max-height: 1000px;\r\n    padding: 15px;\r\n  }\r\n<\/style>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n<style>\r\n  .tabs-wrapper {\r\n    max-width: 1000px;\r\n    margin: 40px auto;\r\n    background: rgba(255, 255, 255, 0.0);\r\n    backdrop-filter: blur(12px);\r\n    -webkit-backdrop-filter: blur(12px);\r\n    border-radius: 20px;\r\n    padding: 30px;\r\n    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.);\r\n    border: px solid rgba(255, 255, 255, 0.2);\r\n    font-family: Arial, sans-serif;\r\n  }\r\n\r\n  .tab-buttons {\r\n    display: flex;\r\n    justify-content: center;\r\n    margin-bottom: 20px;\r\n    flex-wrap: wrap;\r\n    gap: 10px;\r\n  }\r\n\r\n  .tab-btn {\r\n    padding: 10px 20px;\r\n    border: none;\r\n    border-radius: 25px;\r\n    background: #f1f3f8;\r\n    cursor: pointer;\r\n    font-weight: bold;\r\n    transition: all 0.3s ease;\r\n    color: #4a4a4a;\r\n  }\r\n\r\n  .tab-btn.active {\r\n    background: #4a90e2;\r\n    color: white;\r\n  }\r\n\r\n  .tab-content {\r\n    display: none;\r\n    animation: fadeIn 0.3s ease;\r\n  }\r\n\r\n  .tab-content.active {\r\n    display: block;\r\n  }\r\n  .tab-btn:hover {\r\n  background-color: #e0ecff;\r\n  color: #4a90e2;\r\n}\r\n\r\n  @keyframes fadeIn {\r\n    from {opacity: 0;}\r\n    to {opacity: 1;}\r\n  }\r\n  \r\n  \r\n  \/* Allgemeine mobile Optimierungen f\u00fcr alle Tabs *\/\r\n@media (max-width: 768px) {\r\n  .tabs-wrapper {\r\n    margin: 10px;\r\n    padding: 15px;\r\n    max-width: 100%;\r\n    border-radius: 15px;\r\n  }\r\n  \r\n  .tab-buttons {\r\n    gap: 5px;\r\n  }\r\n  \r\n  .tab-btn {\r\n    padding: 8px 12px;\r\n    font-size: 0.9rem;\r\n  }\r\n  \r\n  .glass-card {\r\n    padding: 15px;\r\n    border-radius: 15px;\r\n  }\r\n  \r\n  .glass-card h2 {\r\n    font-size: 1.3rem;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .glass-card input,\r\n  .glass-card select {\r\n    padding: 10px;\r\n    margin-top: 8px;\r\n    font-size: 0.9rem;\r\n  }\r\n  \r\n  .glass-card button {\r\n    padding: 10px;\r\n    margin-top: 15px;\r\n  }\r\n  \r\n  .result-box {\r\n    padding: 12px;\r\n    margin-top: 15px;\r\n    font-size: 0.85rem;\r\n  }\r\n  \r\n  .divider {\r\n    margin: 20px 0;\r\n  }\r\n}\r\n\r\n\/* Progress Tab Mobile Optimierungen *\/\r\n@media (max-width: 768px) {\r\n  .progress-wrapper {\r\n    padding: 10px;\r\n  }\r\n  \r\n  .rm-grid {\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 8px;\r\n  }\r\n  \r\n  .comparison-table {\r\n    font-size: 0.8rem;\r\n  }\r\n  \r\n  .comparison-table th, \r\n  .comparison-table td {\r\n    padding: 6px 4px;\r\n  }\r\n}\r\n\r\n\/* Makros Tab Mobile Optimierungen *\/\r\n@media (max-width: 768px) {\r\n  #macros .glass-card h2 {\r\n    font-size: 1.3rem;\r\n  }\r\n}\r\n\r\n\/* FFMI Tab Mobile Optimierungen *\/\r\n@media (max-width: 768px) {\r\n  .glass-card.ffmi {\r\n    padding: 15px;\r\n  }\r\n  \r\n  .ffmi .subtitle {\r\n    font-size: 0.8rem;\r\n  }\r\n  \r\n  .toggle-btn {\r\n    padding: 12px 8px;\r\n    font-size: 0.9rem;\r\n  }\r\n  \r\n  .ffmi-scale {\r\n    height: 60px;\r\n  }\r\n  \r\n  .scale-marker span {\r\n    font-size: 0.7rem;\r\n  }\r\n  \r\n  .scale-level {\r\n    font-size: 0.65rem;\r\n  }\r\n  \r\n  .your-marker {\r\n    font-size: 0.8rem;\r\n    padding: 4px 6px;\r\n  }\r\n  \r\n  .tab-btn {\r\n    font-size: 0.8rem;\r\n  }\r\n  \r\n  .info-toggle {\r\n    padding: 10px;\r\n    font-size: 0.9rem;\r\n  }\r\n  \r\n  .info-content {\r\n    font-size: 0.85rem;\r\n  }\r\n}\r\n\r\n\/* Extra kleine Bildschirme (unter 480px) *\/\r\n@media (max-width: 480px) {\r\n  .tab-buttons {\r\n    flex-direction: column;\r\n    width: 100%;\r\n  }\r\n  \r\n  .tab-btn {\r\n    width: 100%;\r\n    border-radius: 10px;\r\n    margin-bottom: 5px;\r\n  }\r\n  \r\n  .comparison-table {\r\n    font-size: 0.7rem;\r\n  }\r\n  \r\n  .comparison-table th, \r\n  .comparison-table td {\r\n    padding: 5px 2px;\r\n  }\r\n  \r\n  .progression-recommendation {\r\n    padding: 10px;\r\n    font-size: 0.85rem;\r\n  }\r\n  \r\n  .toggle-container {\r\n    flex-direction: column;\r\n    gap: 5px;\r\n  }\r\n  \r\n  .goal-tabs {\r\n    flex-direction: column;\r\n    gap: 5px;\r\n  }\r\n  \r\n  .goal-tabs .tab-btn {\r\n    border-radius: 10px;\r\n  }\r\n  \r\n  .scale-marker {\r\n    display: none;\r\n  }\r\n  \r\n  .scale-level {\r\n    font-size: 0.6rem;\r\n  }\r\n}\r\n\r\n\/* Optimierungen f\u00fcr die Tabellen im Progress Tab *\/\r\n@media (max-width: 480px) {\r\n  .comparison-table {\r\n    display: block;\r\n    overflow-x: auto;\r\n    white-space: nowrap;\r\n    width: 100%;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  const container = document.getElementById(\"ffmi\");\r\n\r\n  \/\/ Eingabefelder & Synchronisation\r\n  const bodyfatInput = container.querySelector(\"#bodyfat\");\r\n  const bodyfatSlider = container.querySelector(\"#bodyfat-slider\");\r\n  const targetBodyfatInput = container.querySelector(\"#target-bodyfat\");\r\n  const targetBodyfatSlider = container.querySelector(\"#target-bodyfat-slider\");\r\n\r\n  \/\/ Slider-Sync\r\n  bodyfatSlider.addEventListener(\"input\", () => {\r\n    bodyfatInput.value = bodyfatSlider.value;\r\n  });\r\n\r\n  bodyfatInput.addEventListener(\"input\", () => {\r\n    bodyfatSlider.value = bodyfatInput.value;\r\n  });\r\n\r\n  targetBodyfatSlider.addEventListener(\"input\", () => {\r\n    targetBodyfatInput.value = targetBodyfatSlider.value;\r\n  });\r\n\r\n  targetBodyfatInput.addEventListener(\"input\", () => {\r\n    targetBodyfatSlider.value = targetBodyfatInput.value;\r\n  });\r\n\r\n  \/\/ Toggle Info-Content\r\n  const infoToggle = container.querySelector(\".info-toggle\");\r\n  const infoContent = container.querySelector(\".info-content\");\r\n\r\n  infoToggle.addEventListener(\"click\", () => {\r\n    infoContent.classList.toggle(\"active\");\r\n  });\r\n\r\n  \/\/ Tab-Switch f\u00fcr Zielk\u00f6rper\r\n  const goalTabs = container.querySelectorAll(\".goal-tabs input\");\r\n  const goalPanels = container.querySelectorAll(\".goal-panel\");\r\n\r\n  goalTabs.forEach((tab, index) => {\r\n    tab.addEventListener(\"change\", () => {\r\n      goalPanels.forEach((panel) => (panel.style.display = \"none\"));\r\n      goalPanels[index].style.display = \"block\";\r\n    });\r\n  });\r\n\r\n  \/\/ Hauptberechnung FFMI\r\n  window.calculateFFMI = function () {\r\n    let height = parseFloat(container.querySelector(\"#height\").value) \/ 100;\r\n    let weight = parseFloat(container.querySelector(\"#weight\").value);\r\n    let bodyfat = parseFloat(container.querySelector(\"#bodyfat\").value);\r\n\r\n    if (isNaN(height) || isNaN(weight) || isNaN(bodyfat)) {\r\n      container.querySelector(\"#results\").innerHTML =\r\n        \"<p class='text-warning'>Bitte alle Felder ausf\u00fcllen.<\/p>\";\r\n      return;\r\n    }\r\n\r\n    const leanMass = weight * (1 - bodyfat \/ 100);\r\n    const ffmi = leanMass \/ (height * height);\r\n    const heightCorrection = height > 1.8 ? 6.1 * (1.8 - height) : 0;\r\n    const adjustedFFMI = ffmi + heightCorrection;\r\n\r\n    let interpretation = \"\";\r\n    if (adjustedFFMI < 18) {\r\n      interpretation = \"<span class='level-beginner'>Schlank<\/span>\";\r\n    } else if (adjustedFFMI < 21) {\r\n      interpretation = \"<span class='level-intermediate'>Sportlich<\/span>\";\r\n    } else if (adjustedFFMI < 24) {\r\n      interpretation = \"<span class='level-advanced'>Sehr muskul\u00f6s<\/span>\";\r\n    } else {\r\n      interpretation = \"<span class='level-elite'>Extrem muskul\u00f6s<\/span>\";\r\n    }\r\n\r\n    container.querySelector(\"#results\").innerHTML = `\r\n      <p>Dein FFMI betr\u00e4gt:<\/p>\r\n      <p class=\"result-highlight\">${adjustedFFMI.toFixed(2)}<\/p>\r\n      <p>Deine fettfreie Masse betr\u00e4gt:<\/p>\r\n      <p class=\"result-highlight\">${leanMass.toFixed(1)} kg<\/p>\r\n      <p class=\"result-interpretation\">${interpretation}<\/p>\r\n    `;\r\n\r\n    const marker = container.querySelector(\"#your-ffmi-marker\");\r\n    const markerPosition = Math.min(Math.max(((adjustedFFMI - 16) \/ 12) * 100, 0), 100);\r\n    marker.style.left = markerPosition + \"%\";\r\n  };\r\n\r\n  \/\/ Ziel: K\u00f6rpergewicht \u279c Ziel-KFA berechnen\r\n  window.calculateWeightGoal = function () {\r\n    const targetWeight = parseFloat(container.querySelector(\"#target-weight\").value);\r\n    const bodyfat = parseFloat(container.querySelector(\"#bodyfat\").value);\r\n    const weight = parseFloat(container.querySelector(\"#weight\").value);\r\n\r\n    if (isNaN(targetWeight) || isNaN(bodyfat)) {\r\n      container.querySelector(\"#goal-results\").innerHTML =\r\n        \"<p class='text-warning'>Bitte alle Felder ausf\u00fcllen.<\/p>\";\r\n      return;\r\n    }\r\n\r\n    const leanMass = weight * (1 - bodyfat \/ 100);\r\n    const targetBodyfat = ((targetWeight - leanMass) \/ targetWeight) * 100;\r\n\r\n    container.querySelector(\"#goal-results\").innerHTML = `\r\n      <p>Mit einem Zielgewicht von <strong>${targetWeight.toFixed(1)} kg<\/strong> \r\n      w\u00fcrde dein K\u00f6rperfettanteil <strong>${targetBodyfat.toFixed(1)}%<\/strong> betragen.<\/p>\r\n    `;\r\n  };\r\n\r\n  \/\/ Ziel: KFA \u279c Zielgewicht berechnen\r\n  window.calculateBodyfatGoal = function () {\r\n    const weight = parseFloat(container.querySelector(\"#weight\").value);\r\n    const bodyfat = parseFloat(container.querySelector(\"#bodyfat\").value);\r\n    const targetBodyfat = parseFloat(container.querySelector(\"#target-bodyfat\").value);\r\n\r\n    if (isNaN(weight) || isNaN(bodyfat) || isNaN(targetBodyfat)) {\r\n      container.querySelector(\"#goal-results\").innerHTML =\r\n        \"<p class='text-warning'>Bitte alle Felder ausf\u00fcllen.<\/p>\";\r\n      return;\r\n    }\r\n\r\n    const leanMass = weight * (1 - bodyfat \/ 100);\r\n    const targetWeight = leanMass \/ (1 - targetBodyfat \/ 100);\r\n\r\n    container.querySelector(\"#goal-results\").innerHTML = `\r\n      <p>Um einen K\u00f6rperfettanteil von <strong>${targetBodyfat.toFixed(1)}%<\/strong> zu erreichen, \r\n      sollte dein Zielgewicht <strong>${targetWeight.toFixed(1)} kg<\/strong> betragen.<\/p>\r\n    `;\r\n  };\r\n\r\n  \/\/ Ziel: FFMI \u279c n\u00f6tige fettfreie Masse berechnen\r\n  window.calculateFFMIGoal = function () {\r\n    const height = parseFloat(container.querySelector(\"#height\").value) \/ 100;\r\n    const targetFFMI = parseFloat(container.querySelector(\"#target-ffmi\").value);\r\n    const weight = parseFloat(container.querySelector(\"#weight\").value);\r\n    const bodyfat = parseFloat(container.querySelector(\"#bodyfat\").value);\r\n\r\n    if (isNaN(height) || isNaN(targetFFMI) || isNaN(weight) || isNaN(bodyfat)) {\r\n      container.querySelector(\"#goal-results\").innerHTML =\r\n        \"<p class='text-warning'>Bitte alle Felder ausf\u00fcllen.<\/p>\";\r\n      return;\r\n    }\r\n\r\n    const currentLeanMass = weight * (1 - bodyfat \/ 100);\r\n    const targetLeanMass = targetFFMI * (height * height);\r\n\r\n    container.querySelector(\"#goal-results\").innerHTML = `\r\n      <p>Aktuelle fettfreie Masse: <strong>${currentLeanMass.toFixed(1)} kg<\/strong><\/p>\r\n      <p>Um einen FFMI von <strong>${targetFFMI.toFixed(2)}<\/strong> zu erreichen, \r\n      solltest du eine fettfreie Masse von <strong>${targetLeanMass.toFixed(1)} kg<\/strong> haben.<\/p>\r\n    `;\r\n  };\r\n});\r\n<\/script>\r\n\r\n<\/div>\r\n\r\n<script>\r\n  function switchTab(tabId) {\r\n    \/\/ Tabs deaktivieren\r\n    document.querySelectorAll('.tab-content').forEach(el => el.classList.remove('active'));\r\n    document.querySelectorAll('.tab-btn').forEach(el => el.classList.remove('active'));\r\n\r\n    \/\/ Aktivieren\r\n    document.getElementById(tabId).classList.add('active');\r\n    event.target.classList.add('active');\r\n  }\r\n<\/script>\r\n\r\n\r\n\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Deine Fortschritts-Tools Intelligente Rechner f\u00fcr Muskelaufbau, Ern\u00e4hrung und K\u00f6rperanalyse \u2013 alles an einem Ort. Progress Makros FFMI \ud83d\ude80 Progressionsrechner v1.5 Gewicht (kg): Wiederholungen: Berechnen Gib deine Trainingswerte ein und klicke auf &#8222;Berechnen&#8220; Neues Gewicht testen Neues Gewicht (kg): Berechnen Gib ein neues Gewicht ein, um die erforderlichen Wiederholungen zu berechnen \ud83c\udf2f Smarter Makrorechner v2.2 M\u00e4nnlichWeiblich [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-672","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pflhub.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=672"}],"version-history":[{"count":10,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/672\/revisions"}],"predecessor-version":[{"id":1149,"href":"https:\/\/pflhub.de\/index.php?rest_route=\/wp\/v2\/pages\/672\/revisions\/1149"}],"wp:attachment":[{"href":"https:\/\/pflhub.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}