{"id":1537,"date":"2026-05-11T19:47:20","date_gmt":"2026-05-11T19:47:20","guid":{"rendered":"https:\/\/elitepeptidelabs.net\/usa\/?page_id=1537"},"modified":"2026-05-11T19:48:15","modified_gmt":"2026-05-11T19:48:15","slug":"calculator","status":"publish","type":"page","link":"https:\/\/elitepeptidelabs.net\/usa\/calculator\/","title":{"rendered":"Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1537\" class=\"elementor elementor-1537\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1953676 e-flex e-con-boxed e-con e-parent\" data-id=\"1953676\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f1be5a9 elementor-widget elementor-widget-html\" data-id=\"f1be5a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"pc-widget\" data-pc-widget>\r\n  <main class=\"pc-page\">\r\n    <h1 class=\"pc-title\">Enter The Details To Calculate Your Peptide Dosage.<\/h1>\r\n\r\n    <section class=\"pc-layout\">\r\n      <div class=\"pc-input-stack\">\r\n        <article class=\"pc-selector-card\" data-group=\"syringeVolume\">\r\n          <div class=\"pc-field-head\">\r\n            <span class=\"pc-field-icon\" aria-hidden=\"true\">\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\r\n                <path d=\"M4 12h14M5 9.5V14.5M9 10.5V13.5M13 10.5V13.5M17 10.5V13.5\"><\/path>\r\n                <rect x=\"18\" y=\"9\" width=\"2\" height=\"6\"><\/rect>\r\n              <\/svg>\r\n            <\/span>\r\n            <h2 class=\"pc-field-title\">Syringe Volume<\/h2>\r\n          <\/div>\r\n          <div class=\"pc-pill-grid\">\r\n            <button class=\"pc-pill\" data-value=\"0.3\" aria-pressed=\"false\">0.3 ml<\/button>\r\n            <button class=\"pc-pill\" data-value=\"0.5\" aria-pressed=\"false\">0.5 ml<\/button>\r\n            <button class=\"pc-pill active\" data-value=\"1\" aria-pressed=\"true\">1.0 ml<\/button>\r\n            <button class=\"pc-pill\" data-other=\"true\" aria-pressed=\"false\">Other<\/button>\r\n          <\/div>\r\n          <label class=\"pc-other-row\" id=\"pc-syringe-custom\" hidden>\r\n            <input id=\"pc-syringe-input\" type=\"number\" min=\"0.1\" step=\"0.1\" placeholder=\"Enter syringe volume\" \/>\r\n            <span>ml<\/span>\r\n          <\/label>\r\n        <\/article>\r\n\r\n        <article class=\"pc-selector-card\">\r\n          <div class=\"pc-field-head\">\r\n            <span class=\"pc-field-icon\" aria-hidden=\"true\">\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\r\n                <rect x=\"8\" y=\"3\" width=\"8\" height=\"3\" rx=\"1\"><\/rect>\r\n                <rect x=\"7\" y=\"6\" width=\"10\" height=\"15\" rx=\"2\"><\/rect>\r\n                <path d=\"M9.5 11h5M9.5 14h5\"><\/path>\r\n              <\/svg>\r\n            <\/span>\r\n            <h2 class=\"pc-field-title\">Peptide Vial Quantity<\/h2>\r\n          <\/div>\r\n          <div class=\"pc-card-toolbar\">\r\n            <p class=\"pc-hint pc-hint--inline\">Start with Peptide 1. Add up to 2 more peptides in the same vial.<\/p>\r\n            <button class=\"pc-add-peptide\" id=\"pc-add-peptide\" type=\"button\">Add Peptide<\/button>\r\n          <\/div>\r\n          <div class=\"pc-peptide-stack\">\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"1\">\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-mg-1\">Peptide 1<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-mg-1\"\r\n                    data-peptide-index=\"0\"\r\n                    data-field=\"mg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"0.1\"\r\n                    value=\"5\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mg<\/span>\r\n                <\/span>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"2\" hidden>\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-mg-2\">Peptide 2<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-mg-2\"\r\n                    data-peptide-index=\"1\"\r\n                    data-field=\"mg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"0.1\"\r\n                    value=\"0\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mg<\/span>\r\n                <\/span>\r\n                <button class=\"pc-remove-peptide\" type=\"button\" data-remove-peptide=\"1\" aria-label=\"Remove peptide 2\">\r\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                    <path d=\"M4 7h16\"><\/path>\r\n                    <path d=\"M10 11v6M14 11v6\"><\/path>\r\n                    <path d=\"M9 4h6l1 2H8l1-2z\"><\/path>\r\n                    <path d=\"M7 7l1 12h8l1-12\"><\/path>\r\n                  <\/svg>\r\n                <\/button>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"3\" hidden>\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-mg-3\">Peptide 3<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-mg-3\"\r\n                    data-peptide-index=\"2\"\r\n                    data-field=\"mg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"0.1\"\r\n                    value=\"0\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mg<\/span>\r\n                <\/span>\r\n                <button class=\"pc-remove-peptide\" type=\"button\" data-remove-peptide=\"2\" aria-label=\"Remove peptide 3\">\r\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                    <path d=\"M4 7h16\"><\/path>\r\n                    <path d=\"M10 11v6M14 11v6\"><\/path>\r\n                    <path d=\"M9 4h6l1 2H8l1-2z\"><\/path>\r\n                    <path d=\"M7 7l1 12h8l1-12\"><\/path>\r\n                  <\/svg>\r\n                <\/button>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"pc-selector-card\" data-group=\"waterMl\">\r\n          <div class=\"pc-field-head\">\r\n            <span class=\"pc-field-icon\" aria-hidden=\"true\">\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\r\n                <path d=\"M12 3c-2.5 3.2-5 6-5 9a5 5 0 0010 0c0-3-2.5-5.8-5-9z\"><\/path>\r\n              <\/svg>\r\n            <\/span>\r\n            <h2 class=\"pc-field-title\">Bacteriostatic Water<\/h2>\r\n          <\/div>\r\n          <div class=\"pc-pill-grid\">\r\n            <button class=\"pc-pill active\" data-value=\"1\" aria-pressed=\"true\">1 ml<\/button>\r\n            <button class=\"pc-pill\" data-value=\"2\" aria-pressed=\"false\">2 ml<\/button>\r\n            <button class=\"pc-pill\" data-value=\"3\" aria-pressed=\"false\">3 ml<\/button>\r\n            <button class=\"pc-pill\" data-value=\"5\" aria-pressed=\"false\">5 ml<\/button>\r\n            <button class=\"pc-pill\" data-other=\"true\" aria-pressed=\"false\">Other<\/button>\r\n          <\/div>\r\n          <label class=\"pc-other-row\" id=\"pc-water-custom\" hidden>\r\n            <input id=\"pc-water-input\" type=\"number\" min=\"0.1\" step=\"0.1\" placeholder=\"Enter water added\" \/>\r\n            <span>ml<\/span>\r\n          <\/label>\r\n        <\/article>\r\n\r\n        <article class=\"pc-selector-card\">\r\n          <div class=\"pc-field-head\">\r\n            <span class=\"pc-field-icon\" aria-hidden=\"true\">\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\r\n                <path d=\"M4 16.5L13 7.5M10 6l8 8M3 20l4-.8L4 16l-.8 4z\"><\/path>\r\n                <path d=\"M16 4l4 4\"><\/path>\r\n              <\/svg>\r\n            <\/span>\r\n            <h2 class=\"pc-field-title\">Dose Per Injection<\/h2>\r\n          <\/div>\r\n          <p class=\"pc-hint pc-hint--inline pc-dose-hint\">\r\n            Add a target dose for each active peptide. Mixed-vial doses must stay in the same ratio as the vial blend.\r\n          <\/p>\r\n          <div class=\"pc-peptide-stack\">\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"1\">\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-dose-1\">Peptide 1<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-dose-1\"\r\n                    data-peptide-index=\"0\"\r\n                    data-field=\"doseMcg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"1\"\r\n                    value=\"50\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mcg<\/span>\r\n                <\/span>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"2\" hidden>\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-dose-2\">Peptide 2<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-dose-2\"\r\n                    data-peptide-index=\"1\"\r\n                    data-field=\"doseMcg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"1\"\r\n                    value=\"0\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mcg<\/span>\r\n                <\/span>\r\n                <button class=\"pc-remove-peptide\" type=\"button\" data-remove-peptide=\"1\" aria-label=\"Remove peptide 2\">\r\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                    <path d=\"M4 7h16\"><\/path>\r\n                    <path d=\"M10 11v6M14 11v6\"><\/path>\r\n                    <path d=\"M9 4h6l1 2H8l1-2z\"><\/path>\r\n                    <path d=\"M7 7l1 12h8l1-12\"><\/path>\r\n                  <\/svg>\r\n                <\/button>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"pc-peptide-row\" data-peptide-row=\"3\" hidden>\r\n              <label class=\"pc-peptide-label\" for=\"pc-peptide-dose-3\">Peptide 3<\/label>\r\n              <div class=\"pc-peptide-field\">\r\n                <span class=\"pc-inline-input\">\r\n                  <input\r\n                    class=\"pc-peptide-input\"\r\n                    id=\"pc-peptide-dose-3\"\r\n                    data-peptide-index=\"2\"\r\n                    data-field=\"doseMcg\"\r\n                    type=\"number\"\r\n                    min=\"0\"\r\n                    step=\"1\"\r\n                    value=\"0\"\r\n                    placeholder=\"0\"\r\n                  \/>\r\n                  <span>mcg<\/span>\r\n                <\/span>\r\n                <button class=\"pc-remove-peptide\" type=\"button\" data-remove-peptide=\"2\" aria-label=\"Remove peptide 3\">\r\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n                    <path d=\"M4 7h16\"><\/path>\r\n                    <path d=\"M10 11v6M14 11v6\"><\/path>\r\n                    <path d=\"M9 4h6l1 2H8l1-2z\"><\/path>\r\n                    <path d=\"M7 7l1 12h8l1-12\"><\/path>\r\n                  <\/svg>\r\n                <\/button>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <p class=\"pc-hint\">1 mg = 1000 mcg(&mu;g)<\/p>\r\n        <\/article>\r\n\r\n      <\/div>\r\n\r\n      <aside class=\"pc-result-card\">\r\n        <h2>You Need to Draw<\/h2>\r\n        <div class=\"pc-result-value\"><span id=\"pc-result-number\">0.000<\/span> ml<\/div>\r\n        <p class=\"pc-result-units\"><span id=\"pc-result-units\">0<\/span> units<\/p>\r\n        <p class=\"pc-result-caption\" id=\"pc-result-caption\">Enter peptide amounts and doses to calculate your draw amount.<\/p>\r\n        <p class=\"pc-result-capacity\" id=\"pc-syringe-capacity\">Selected syringe max: 100 units (1.0 ml)<\/p>\r\n        <p class=\"pc-warning\" id=\"pc-draw-warning\" role=\"alert\" hidden><\/p>\r\n\r\n        <div class=\"pc-meter-area\">\r\n          <svg\r\n            id=\"pc-syringe-graphic\"\r\n            class=\"pc-syringe-graphic\"\r\n            viewBox=\"0 0 248 600\"\r\n            role=\"img\"\r\n            aria-label=\"Syringe with U-100 measurement scale\"\r\n          >\r\n            <rect x=\"0\" y=\"0\" width=\"248\" height=\"600\" rx=\"24\" fill=\"#e9f2fb\" \/>\r\n\r\n            <defs>\r\n              <clipPath id=\"pc-barrel-clip\">\r\n                <rect x=\"104\" y=\"132\" width=\"64\" height=\"322\" \/>\r\n              <\/clipPath>\r\n            <\/defs>\r\n\r\n            <rect x=\"102\" y=\"22\" width=\"64\" height=\"12\" fill=\"#9fbad3\" \/>\r\n            <rect id=\"pc-plunger-rod\" x=\"129\" y=\"34\" width=\"10\" height=\"414\" fill=\"#a8bfd4\" \/>\r\n            <rect x=\"88\" y=\"110\" width=\"94\" height=\"12\" fill=\"#9cb8d1\" \/>\r\n\r\n            <rect x=\"100\" y=\"124\" width=\"72\" height=\"332\" fill=\"#ffffff\" stroke=\"#97b8d4\" stroke-width=\"4\" \/>\r\n            <rect\r\n              id=\"pc-unit-meter-barrel\"\r\n              x=\"104\"\r\n              y=\"454\"\r\n              width=\"64\"\r\n              height=\"0\"\r\n              fill=\"#3FA7FF\"\r\n              clip-path=\"url(#pc-barrel-clip)\"\r\n            \/>\r\n            <rect id=\"pc-plunger-stop\" x=\"104\" y=\"453\" width=\"64\" height=\"2\" fill=\"#8faec9\" opacity=\"0\" \/>\r\n            <g id=\"pc-u100-ticks\"><\/g>\r\n            <g id=\"pc-u100-labels\"><\/g>\r\n\r\n            <line\r\n              id=\"pc-draw-marker-line\"\r\n              x1=\"98\"\r\n              y1=\"454\"\r\n              x2=\"174\"\r\n              y2=\"454\"\r\n              stroke=\"#0b5f95\"\r\n              stroke-width=\"1.6\"\r\n              stroke-linecap=\"round\"\r\n              opacity=\"0\"\r\n            \/>\r\n            <rect\r\n              id=\"pc-draw-marker-label-bg\"\r\n              x=\"176\"\r\n              y=\"443\"\r\n              width=\"64\"\r\n              height=\"20\"\r\n              rx=\"6\"\r\n              fill=\"#ffffff\"\r\n              stroke=\"#97b8d4\"\r\n              stroke-width=\"1\"\r\n              opacity=\"0\"\r\n            \/>\r\n            <text\r\n              id=\"pc-draw-marker-label\"\r\n              x=\"208\"\r\n              y=\"457\"\r\n              text-anchor=\"middle\"\r\n              font-family=\"Inter, Segoe UI, sans-serif\"\r\n              font-size=\"10\"\r\n              font-weight=\"800\"\r\n              fill=\"#0b5f95\"\r\n              opacity=\"0\"\r\n            >0.000ml<\/text>\r\n\r\n            <rect x=\"127\" y=\"456\" width=\"16\" height=\"66\" rx=\"4\" fill=\"#a8bfd4\" \/>\r\n            <line x1=\"135\" y1=\"522\" x2=\"135\" y2=\"580\" stroke=\"#8faec9\" stroke-width=\"3\" \/>\r\n          <\/svg>\r\n        <\/div>\r\n      <\/aside>\r\n    <\/section>\r\n\r\n    <p class=\"pc-disclaimer\">For laboratory research use only. Not for human or veterinary use. Not for diagnostic or therapeutic purpose<\/p>\r\n  <\/main>\r\n<\/div>\r\n\r\n<style>\r\n  .pc-widget {\r\n    --pc-bg: #f7fbff;\r\n    --pc-panel: #ffffff;\r\n    --pc-panel-soft: #eff6fc;\r\n    --pc-stroke: #c5dbef;\r\n    --pc-ink: #163753;\r\n    --pc-muted: #5a7893;\r\n    --pc-primary: #A7C7E3;\r\n    --pc-primary-rgb: 167, 199, 227;\r\n    --pc-accent: #3FA7FF;\r\n    --pc-accent-hover: #258fdf;\r\n    --pc-accent-rgb: 63, 167, 255;\r\n    --pc-font-heading: \"Manrope\", \"Segoe UI\", sans-serif;\r\n    --pc-font-body: \"Inter\", \"Segoe UI\", sans-serif;\r\n    --pc-shadow: 0 16px 44px rgba(49, 95, 131, 0.14);\r\n\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    border-radius: 28px;\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.6);\r\n    padding: 22px 18px 36px;\r\n    background:\r\n      radial-gradient(circle at 8% 0%, rgba(var(--pc-primary-rgb), 0.36), transparent 46%),\r\n      radial-gradient(circle at 92% 100%, rgba(var(--pc-accent-rgb), 0.16), transparent 44%),\r\n      var(--pc-bg);\r\n    font-family: var(--pc-font-body);\r\n    color: var(--pc-ink);\r\n  }\r\n\r\n  .pc-widget,\r\n  .pc-widget * {\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .pc-brand {\r\n    margin-bottom: 16px;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.18em;\r\n    font-weight: 700;\r\n    font-size: 0.8rem;\r\n    font-family: var(--pc-font-heading);\r\n    color: var(--pc-accent);\r\n  }\r\n\r\n  .pc-title {\r\n    margin: 0 0 20px;\r\n    text-align: center;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.04em;\r\n    font-family: var(--pc-font-heading);\r\n    font-size: clamp(1.8rem, 3vw, 2.6rem);\r\n    line-height: 1;\r\n    color: #11344f;\r\n  }\r\n\r\n  .pc-layout {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr);\r\n    gap: 24px;\r\n    align-items: start;\r\n  }\r\n\r\n  .pc-input-stack {\r\n    display: grid;\r\n    gap: 22px;\r\n  }\r\n\r\n  .pc-selector-card,\r\n  .pc-result-card {\r\n    background: linear-gradient(150deg, var(--pc-panel), rgba(var(--pc-primary-rgb), 0.28));\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.7);\r\n    border-radius: 28px;\r\n    box-shadow: var(--pc-shadow);\r\n  }\r\n\r\n  .pc-selector-card {\r\n    padding: 26px 26px 22px;\r\n  }\r\n\r\n  .pc-field-head {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 14px;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .pc-field-icon {\r\n    width: 52px;\r\n    height: 52px;\r\n    border-radius: 999px;\r\n    background: rgba(var(--pc-primary-rgb), 0.45);\r\n    border: 1px solid rgba(var(--pc-accent-rgb), 0.55);\r\n    display: grid;\r\n    place-items: center;\r\n    flex: 0 0 auto;\r\n    color: var(--pc-accent);\r\n  }\r\n\r\n  .pc-field-icon svg {\r\n    width: 26px;\r\n    height: 26px;\r\n  }\r\n\r\n  .pc-field-title {\r\n    margin: 0;\r\n    font-family: var(--pc-font-heading);\r\n    font-size: clamp(1.65rem, 2.1vw, 2.3rem);\r\n    font-weight: 700;\r\n    letter-spacing: -0.02em;\r\n    color: #11344f;\r\n  }\r\n\r\n  .pc-pill-grid {\r\n    display: grid;\r\n    gap: 10px 12px;\r\n    justify-content: start;\r\n  }\r\n\r\n  .pc-selector-card[data-group=\"syringeVolume\"] .pc-pill-grid {\r\n    max-width: 560px;\r\n    grid-template-columns: repeat(4, minmax(0, 1fr));\r\n  }\r\n\r\n  .pc-selector-card[data-group=\"waterMl\"] .pc-pill-grid {\r\n    max-width: 620px;\r\n    grid-template-columns: repeat(5, minmax(0, 1fr));\r\n  }\r\n\r\n  .pc-pill {\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.9);\r\n    background: #ffffff;\r\n    border-radius: 999px;\r\n    min-height: 44px;\r\n    padding: 8px 12px;\r\n    font: 700 0.94rem\/1 var(--pc-font-body);\r\n    color: #1d4463;\r\n    cursor: pointer;\r\n    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.14s ease;\r\n  }\r\n\r\n  .pc-pill:hover {\r\n    background: rgba(var(--pc-accent-rgb), 0.14);\r\n    border-color: var(--pc-accent);\r\n    color: #11436a;\r\n    transform: translateY(-1px);\r\n  }\r\n\r\n  .pc-pill.active {\r\n    background: var(--pc-accent);\r\n    border-color: var(--pc-accent);\r\n    color: #ffffff;\r\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.14);\r\n  }\r\n\r\n  .pc-other-row {\r\n    margin-top: 13px;\r\n    max-width: 320px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n  }\r\n\r\n  .pc-other-row[hidden] {\r\n    display: none;\r\n  }\r\n\r\n  .pc-other-row input {\r\n    width: 100%;\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.95);\r\n    border-radius: 14px;\r\n    background: #ffffff;\r\n    color: #184260;\r\n    font: 600 0.95rem\/1 var(--pc-font-body);\r\n    padding: 11px 12px;\r\n    flex: 1;\r\n    min-width: 0;\r\n  }\r\n\r\n  .pc-other-row input:focus {\r\n    outline: none;\r\n    border-color: var(--pc-accent);\r\n    box-shadow: 0 0 0 3px rgba(var(--pc-accent-rgb), 0.24);\r\n  }\r\n\r\n  .pc-other-row span {\r\n    white-space: nowrap;\r\n    font-size: 0.9rem;\r\n    font-weight: 500;\r\n    color: var(--pc-muted);\r\n  }\r\n\r\n  #pc-syringe-custom,\r\n  #pc-water-custom {\r\n    margin-top: 14px;\r\n  }\r\n\r\n  .pc-hint {\r\n    margin: 14px 0 0;\r\n    font-size: 0.98rem;\r\n    font-weight: 500;\r\n    color: #3d6d94;\r\n  }\r\n\r\n  .pc-hint--inline {\r\n    margin: 0;\r\n  }\r\n\r\n  .pc-card-toolbar {\r\n    margin-bottom: 16px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 14px;\r\n    flex-wrap: wrap;\r\n  }\r\n\r\n  .pc-add-peptide {\r\n    border: 1px solid rgba(var(--pc-accent-rgb), 0.35);\r\n    border-radius: 14px;\r\n    min-height: 44px;\r\n    padding: 10px 16px;\r\n    background: #ffffff;\r\n    color: #184260;\r\n    font: 700 0.92rem\/1 var(--pc-font-body);\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.05em;\r\n    cursor: pointer;\r\n    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.14s ease;\r\n  }\r\n\r\n  .pc-add-peptide:hover:not(:disabled) {\r\n    background: rgba(var(--pc-accent-rgb), 0.1);\r\n    border-color: var(--pc-accent);\r\n    color: #113b5a;\r\n    transform: translateY(-1px);\r\n  }\r\n\r\n  .pc-add-peptide:disabled,\r\n  .pc-add-peptide[hidden] {\r\n    display: none;\r\n  }\r\n\r\n  .pc-peptide-stack {\r\n    display: grid;\r\n    gap: 12px;\r\n    max-width: 620px;\r\n  }\r\n\r\n  .pc-peptide-row {\r\n    display: grid;\r\n    grid-template-columns: minmax(110px, 140px) minmax(0, 1fr);\r\n    gap: 14px;\r\n    align-items: center;\r\n  }\r\n\r\n  .pc-peptide-row[hidden] {\r\n    display: none;\r\n  }\r\n\r\n  .pc-peptide-label {\r\n    font-family: var(--pc-font-heading);\r\n    font-size: 1.05rem;\r\n    font-weight: 700;\r\n    color: #11344f;\r\n  }\r\n\r\n  .pc-peptide-field {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n  }\r\n\r\n  .pc-inline-input {\r\n    width: min(100%, 320px);\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.95);\r\n    border-radius: 16px;\r\n    background: #ffffff;\r\n    color: #184260;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    padding: 0 14px;\r\n  }\r\n\r\n  .pc-inline-input:focus-within {\r\n    border-color: var(--pc-accent);\r\n    box-shadow: 0 0 0 3px rgba(var(--pc-accent-rgb), 0.24);\r\n  }\r\n\r\n  .pc-inline-input input {\r\n    width: 100%;\r\n    border: 0;\r\n    background: transparent;\r\n    color: inherit;\r\n    font: 700 1rem\/1 var(--pc-font-body);\r\n    padding: 13px 0;\r\n    min-width: 0;\r\n  }\r\n\r\n  .pc-inline-input input:focus {\r\n    outline: none;\r\n  }\r\n\r\n  .pc-inline-input span {\r\n    white-space: nowrap;\r\n    font-size: 0.94rem;\r\n    font-weight: 700;\r\n    color: var(--pc-muted);\r\n  }\r\n\r\n  .pc-remove-peptide {\r\n    width: 42px;\r\n    height: 42px;\r\n    border: 1px solid rgba(var(--pc-primary-rgb), 0.9);\r\n    border-radius: 999px;\r\n    background: #ffffff;\r\n    color: #31658d;\r\n    display: grid;\r\n    place-items: center;\r\n    cursor: pointer;\r\n    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;\r\n  }\r\n\r\n  .pc-remove-peptide:hover {\r\n    background: rgba(238, 95, 95, 0.08);\r\n    border-color: rgba(199, 67, 67, 0.45);\r\n    color: #8c2626;\r\n  }\r\n\r\n  .pc-remove-peptide svg {\r\n    width: 18px;\r\n    height: 18px;\r\n  }\r\n\r\n  .pc-dose-hint {\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .pc-result-card {\r\n    padding: 26px 18px 18px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    text-align: center;\r\n  }\r\n\r\n  .pc-result-card h2 {\r\n    margin: 0;\r\n    font: 700 clamp(1.8rem, 2.1vw, 2.4rem) \/ 1.05 var(--pc-font-heading);\r\n    letter-spacing: -0.02em;\r\n    color: #123b5a;\r\n  }\r\n\r\n  .pc-result-value {\r\n    margin: 8px 0 3px;\r\n    font: 700 clamp(2rem, 3.2vw, 3.3rem) \/ 1 var(--pc-font-heading);\r\n    color: var(--pc-accent);\r\n  }\r\n\r\n  .pc-result-units {\r\n    margin: 0;\r\n    font-size: clamp(1rem, 1.1vw, 1.35rem);\r\n    font-weight: 700;\r\n    letter-spacing: -0.01em;\r\n    color: #2c5f89;\r\n  }\r\n\r\n  .pc-result-caption {\r\n    margin: 3px 0 0;\r\n    font-size: 0.92rem;\r\n    font-weight: 500;\r\n    letter-spacing: 0.02em;\r\n    color: #4e7599;\r\n  }\r\n\r\n  .pc-result-capacity {\r\n    margin: 8px 0 0;\r\n    font-size: 0.84rem;\r\n    letter-spacing: 0.04em;\r\n    text-transform: uppercase;\r\n    color: #4f7b9e;\r\n  }\r\n\r\n  .pc-warning {\r\n    margin: 10px 0 0;\r\n    padding: 9px 10px;\r\n    border-radius: 12px;\r\n    border: 1px solid rgba(199, 67, 67, 0.35);\r\n    background: rgba(238, 95, 95, 0.12);\r\n    color: #8c2626;\r\n    font-size: 0.85rem;\r\n    font-weight: 600;\r\n    line-height: 1.3;\r\n  }\r\n\r\n  .pc-warning[hidden] {\r\n    display: none;\r\n  }\r\n\r\n  .pc-meter-area {\r\n    margin-top: 14px;\r\n    width: min(100%, 250px);\r\n    aspect-ratio: 248 \/ 600;\r\n  }\r\n\r\n  .pc-syringe-graphic {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: block;\r\n    border-radius: 22px;\r\n  }\r\n\r\n  #pc-unit-meter-barrel,\r\n  #pc-plunger-stop,\r\n  #pc-plunger-rod {\r\n    transition: y 0.2s ease, height 0.2s ease, opacity 0.2s ease;\r\n  }\r\n\r\n  #pc-draw-marker-line,\r\n  #pc-draw-marker-label-bg,\r\n  #pc-draw-marker-label {\r\n    transition: y 0.2s ease, y1 0.2s ease, y2 0.2s ease, opacity 0.2s ease;\r\n  }\r\n\r\n  .pc-disclaimer {\r\n    margin: 20px 0 0;\r\n    text-align: center;\r\n    font-size: 0.78rem;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    color: #5f84a5;\r\n  }\r\n\r\n  @media (min-width: 1025px) {\r\n    .pc-title {\r\n      font-size: 30px;\r\n    }\r\n\r\n    .pc-field-title {\r\n      font-size: 25px;\r\n    }\r\n\r\n    .pc-result-card h2,\r\n    .pc-result-units {\r\n      font-size: 25px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 1140px) {\r\n    .pc-layout {\r\n      grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr);\r\n      gap: 18px;\r\n    }\r\n\r\n    .pc-selector-card {\r\n      padding: 22px 20px 20px;\r\n    }\r\n\r\n    .pc-selector-card[data-group=\"syringeVolume\"] .pc-pill-grid,\r\n    .pc-selector-card[data-group=\"waterMl\"] .pc-pill-grid {\r\n      max-width: 100%;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 1024px) {\r\n    .pc-title {\r\n      font-size: calc(clamp(1.8rem, 3vw, 2.6rem) - 5px);\r\n    }\r\n\r\n    .pc-layout {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    .pc-result-card {\r\n      order: -1;\r\n    }\r\n\r\n    .pc-meter-area {\r\n      width: min(100%, 230px);\r\n    }\r\n  }\r\n\r\n  @media (max-width: 640px) {\r\n    .pc-widget {\r\n      padding: 22px 12px 32px;\r\n      border-radius: 20px;\r\n    }\r\n\r\n    .pc-title {\r\n      font-size: 28px;\r\n      line-height: 1.2;\r\n    }\r\n\r\n    .pc-selector-card {\r\n      padding: 20px 16px 18px;\r\n    }\r\n\r\n    .pc-field-head {\r\n      gap: 10px;\r\n    }\r\n\r\n    .pc-field-icon {\r\n      width: 40px;\r\n      height: 40px;\r\n    }\r\n\r\n    .pc-field-title {\r\n      font-size: 1.75rem;\r\n    }\r\n\r\n    .pc-selector-card[data-group=\"syringeVolume\"] .pc-pill-grid,\r\n    .pc-selector-card[data-group=\"waterMl\"] .pc-pill-grid {\r\n      max-width: 100%;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n\r\n    .pc-card-toolbar {\r\n      align-items: flex-start;\r\n    }\r\n\r\n    .pc-peptide-row {\r\n      grid-template-columns: 1fr;\r\n      gap: 8px;\r\n    }\r\n\r\n    .pc-peptide-field {\r\n      width: 100%;\r\n    }\r\n\r\n    .pc-inline-input {\r\n      width: 100%;\r\n      max-width: none;\r\n    }\r\n\r\n    .pc-hint {\r\n      font-size: 0.92rem;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  (function () {\r\n    const root = document.querySelector(\"[data-pc-widget]\");\r\n    if (!root) {\r\n      return;\r\n    }\r\n\r\n    const state = {\r\n      syringeVolume: 1,\r\n      waterMl: 1,\r\n      activePeptideCount: 1,\r\n      peptides: [\r\n        { mg: 5, doseMcg: 50 },\r\n        { mg: 0, doseMcg: 0 },\r\n        { mg: 0, doseMcg: 0 },\r\n      ],\r\n    };\r\n\r\n    const resultNumber = root.querySelector(\"#pc-result-number\");\r\n    const resultUnits = root.querySelector(\"#pc-result-units\");\r\n    const resultCaption = root.querySelector(\"#pc-result-caption\");\r\n    const resultCapacity = root.querySelector(\"#pc-syringe-capacity\");\r\n    const warning = root.querySelector(\"#pc-draw-warning\");\r\n    const barrelMeter = root.querySelector(\"#pc-unit-meter-barrel\");\r\n    const plungerStop = root.querySelector(\"#pc-plunger-stop\");\r\n    const plungerRod = root.querySelector(\"#pc-plunger-rod\");\r\n    const drawMarkerLine = root.querySelector(\"#pc-draw-marker-line\");\r\n    const drawMarkerLabelBg = root.querySelector(\"#pc-draw-marker-label-bg\");\r\n    const drawMarkerLabel = root.querySelector(\"#pc-draw-marker-label\");\r\n    const tickGroup = root.querySelector(\"#pc-u100-ticks\");\r\n    const labelGroup = root.querySelector(\"#pc-u100-labels\");\r\n    const addPeptideButton = root.querySelector(\"#pc-add-peptide\");\r\n    const peptideInputs = Array.from(root.querySelectorAll(\".pc-peptide-input\"));\r\n    const removePeptideButtons = Array.from(root.querySelectorAll(\"[data-remove-peptide]\"));\r\n\r\n    if (\r\n      !resultNumber ||\r\n      !resultUnits ||\r\n      !resultCaption ||\r\n      !resultCapacity ||\r\n      !warning ||\r\n      !barrelMeter ||\r\n      !plungerStop ||\r\n      !plungerRod ||\r\n      !drawMarkerLine ||\r\n      !drawMarkerLabelBg ||\r\n      !drawMarkerLabel ||\r\n      !tickGroup ||\r\n      !labelGroup ||\r\n      !addPeptideButton ||\r\n      peptideInputs.length === 0\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const SVG_NS = \"http:\/\/www.w3.org\/2000\/svg\";\r\n    const SCALE_TOP_Y = 132;\r\n    const SCALE_BOTTOM_Y = 454;\r\n    const SCALE_HEIGHT = SCALE_BOTTOM_Y - SCALE_TOP_Y;\r\n    let currentScaleMaxUnits = null;\r\n\r\n    function formatNumber(value, decimals) {\r\n      if (!Number.isFinite(value)) {\r\n        return \"0\";\r\n      }\r\n      const rounded = Number(value.toFixed(decimals));\r\n      return Number.isInteger(rounded) ? String(rounded.toFixed(0)) : String(rounded.toFixed(decimals));\r\n    }\r\n\r\n    function formatMl(value) {\r\n      if (!Number.isFinite(value)) {\r\n        return \"0.000\";\r\n      }\r\n\r\n      return value.toFixed(3);\r\n    }\r\n\r\n    function formatUnits(value) {\r\n      return formatNumber(value, 1);\r\n    }\r\n\r\n    function formatInputValue(value) {\r\n      if (!Number.isFinite(value)) {\r\n        return \"\";\r\n      }\r\n      return value === 0 ? \"0\" : String(value);\r\n    }\r\n\r\n    function unitToY(unit, maxUnits) {\r\n      return SCALE_BOTTOM_Y - (unit \/ maxUnits) * SCALE_HEIGHT;\r\n    }\r\n\r\n    function buildScale(maxUnits) {\r\n      const safeMaxUnits = Number.isFinite(maxUnits) && maxUnits > 0 ? maxUnits : 100;\r\n      if (currentScaleMaxUnits === safeMaxUnits) {\r\n        return;\r\n      }\r\n      currentScaleMaxUnits = safeMaxUnits;\r\n\r\n      tickGroup.textContent = \"\";\r\n      labelGroup.textContent = \"\";\r\n\r\n      const minorStep = safeMaxUnits <= 50 ? 1 : 2;\r\n\r\n      for (let unit = 0; unit <= safeMaxUnits; unit += minorStep) {\r\n        const y = unitToY(unit, safeMaxUnits);\r\n        const isMajor = unit % 10 === 0;\r\n        const isMid = !isMajor && unit % 5 === 0;\r\n        const tickStartX = isMajor ? 136 : isMid ? 142 : 148;\r\n        const tickBack = document.createElementNS(SVG_NS, \"line\");\r\n        const tick = document.createElementNS(SVG_NS, \"line\");\r\n\r\n        [tickBack, tick].forEach((line) => {\r\n          line.setAttribute(\"x1\", String(tickStartX));\r\n          line.setAttribute(\"x2\", \"168\");\r\n          line.setAttribute(\"y1\", y.toFixed(2));\r\n          line.setAttribute(\"y2\", y.toFixed(2));\r\n          line.setAttribute(\"stroke-linecap\", \"round\");\r\n        });\r\n\r\n        tickBack.setAttribute(\"stroke\", \"#b7cfe2\");\r\n        tickBack.setAttribute(\"stroke-width\", isMajor ? \"3.4\" : isMid ? \"2.8\" : \"2.4\");\r\n        tickBack.setAttribute(\"opacity\", \"1\");\r\n        tickGroup.appendChild(tickBack);\r\n\r\n        tick.setAttribute(\"stroke\", \"#2f6f9e\");\r\n        tick.setAttribute(\"stroke-width\", isMajor ? \"1.8\" : isMid ? \"1.35\" : \"1.1\");\r\n        tickGroup.appendChild(tick);\r\n      }\r\n\r\n      for (let unit = 0; unit <= safeMaxUnits; unit += 10) {\r\n        const y = unitToY(unit, safeMaxUnits) + 4;\r\n        const label = document.createElementNS(SVG_NS, \"text\");\r\n        label.setAttribute(\"x\", \"127\");\r\n        label.setAttribute(\"y\", y.toFixed(2));\r\n        label.setAttribute(\"text-anchor\", \"end\");\r\n        label.setAttribute(\"font-family\", \"Inter, Segoe UI, sans-serif\");\r\n        label.setAttribute(\"font-size\", \"11\");\r\n        label.setAttribute(\"font-weight\", \"700\");\r\n        label.setAttribute(\"fill\", \"#1f5279\");\r\n        label.setAttribute(\"stroke\", \"#ffffff\");\r\n        label.setAttribute(\"stroke-width\", \"1\");\r\n        label.setAttribute(\"paint-order\", \"stroke fill\");\r\n        label.textContent = String(unit);\r\n        labelGroup.appendChild(label);\r\n      }\r\n    }\r\n\r\n    function syncPeptideInputs() {\r\n      peptideInputs.forEach((input) => {\r\n        const index = Number.parseInt(input.dataset.peptideIndex || \"\", 10);\r\n        const field = input.dataset.field;\r\n        const peptide = state.peptides[index];\r\n        if (!peptide || (field !== \"mg\" && field !== \"doseMcg\")) {\r\n          return;\r\n        }\r\n        input.value = formatInputValue(peptide[field]);\r\n      });\r\n    }\r\n\r\n    function syncPeptideVisibility() {\r\n      for (let rowNumber = 1; rowNumber <= state.peptides.length; rowNumber += 1) {\r\n        const isVisible = rowNumber <= state.activePeptideCount;\r\n        root.querySelectorAll('[data-peptide-row=\"' + rowNumber + '\"]').forEach((row) => {\r\n          row.hidden = !isVisible;\r\n        });\r\n      }\r\n\r\n      addPeptideButton.disabled = state.activePeptideCount >= state.peptides.length;\r\n      addPeptideButton.hidden = state.activePeptideCount >= state.peptides.length;\r\n    }\r\n\r\n    function resetHiddenPeptides() {\r\n      for (let index = state.activePeptideCount; index < state.peptides.length; index += 1) {\r\n        state.peptides[index] = { mg: 0, doseMcg: 0 };\r\n      }\r\n    }\r\n\r\n    function updatePeptideLayout() {\r\n      resetHiddenPeptides();\r\n      syncPeptideInputs();\r\n      syncPeptideVisibility();\r\n    }\r\n\r\n    function getVisiblePeptides() {\r\n      return state.peptides\r\n        .slice(0, state.activePeptideCount)\r\n        .map((peptide, index) => ({\r\n          index: index + 1,\r\n          mg: peptide.mg,\r\n          doseMcg: peptide.doseMcg,\r\n        }));\r\n    }\r\n\r\n    function getSelectedBlendSummary(peptides) {\r\n      return peptides\r\n        .map((peptide) => \"P\" + peptide.index + \" \" + formatNumber(peptide.doseMcg, 1) + \" mcg\")\r\n        .join(\", \");\r\n    }\r\n\r\n    function calculateDose() {\r\n      const { syringeVolume, waterMl } = state;\r\n      if (\r\n        !Number.isFinite(syringeVolume) ||\r\n        !Number.isFinite(waterMl) ||\r\n        syringeVolume <= 0 ||\r\n        waterMl <= 0\r\n      ) {\r\n        return {\r\n          status: \"invalid\",\r\n          message: \"Enter valid syringe and water values to calculate your draw amount.\",\r\n        };\r\n      }\r\n\r\n      const visiblePeptides = getVisiblePeptides();\r\n      const activePeptides = visiblePeptides.filter((peptide) => peptide.mg > 0 || peptide.doseMcg > 0);\r\n\r\n      if (activePeptides.length === 0) {\r\n        return {\r\n          status: \"invalid\",\r\n          message: \"Enter at least one peptide amount and dose to calculate your draw amount.\",\r\n        };\r\n      }\r\n\r\n      const incompletePeptide = activePeptides.find(\r\n        (peptide) =>\r\n          !Number.isFinite(peptide.mg) ||\r\n          !Number.isFinite(peptide.doseMcg) ||\r\n          peptide.mg <= 0 ||\r\n          peptide.doseMcg <= 0\r\n      );\r\n\r\n      if (incompletePeptide) {\r\n        return {\r\n          status: \"invalid\",\r\n          message: \"Each visible peptide needs both a vial amount and a dose greater than 0 before it can be calculated.\",\r\n        };\r\n      }\r\n\r\n      const peptideDraws = activePeptides.map((peptide) => {\r\n        const concentrationMcgPerMl = (peptide.mg * 1000) \/ waterMl;\r\n        return {\r\n          ...peptide,\r\n          concentrationMcgPerMl,\r\n          drawMl: peptide.doseMcg \/ concentrationMcgPerMl,\r\n        };\r\n      });\r\n\r\n      const referenceDrawMl = peptideDraws[0].drawMl;\r\n      const drawTolerance = Math.max(0.001, referenceDrawMl * 0.02);\r\n      const mismatchedPeptide = peptideDraws.find(\r\n        (peptide) => Math.abs(peptide.drawMl - referenceDrawMl) > drawTolerance\r\n      );\r\n\r\n      if (mismatchedPeptide) {\r\n        const matchingDoseSummary = peptideDraws\r\n          .slice(1)\r\n          .map(\r\n            (peptide) =>\r\n              \"P\" +\r\n              peptide.index +\r\n              \" \" +\r\n              formatNumber(referenceDrawMl * peptide.concentrationMcgPerMl, 1) +\r\n              \" mcg\"\r\n          )\r\n          .join(\", \");\r\n\r\n        return {\r\n          status: \"ratio-mismatch\",\r\n          message:\r\n            \"The selected dose split does not match the peptide blend in the vial. For this mix to draw together, use \" +\r\n            matchingDoseSummary +\r\n            \".\",\r\n        };\r\n      }\r\n\r\n      const drawMl = referenceDrawMl;\r\n      const unitsRequired = drawMl * 100;\r\n      const maxUnits = syringeVolume * 100;\r\n\r\n      return {\r\n        status: \"ok\",\r\n        drawMl,\r\n        unitsRequired,\r\n        maxUnits,\r\n        activePeptides: peptideDraws,\r\n      };\r\n    }\r\n\r\n    function updateResult() {\r\n      const result = calculateDose();\r\n      const maxUnits = Number.isFinite(state.syringeVolume) && state.syringeVolume > 0 ? state.syringeVolume * 100 : 100;\r\n      const syringeVolumeLabel = Number.isFinite(state.syringeVolume) && state.syringeVolume > 0 ? state.syringeVolume : 0;\r\n\r\n      resultCapacity.textContent =\r\n        \"Selected syringe max: \" + formatUnits(maxUnits) + \" units (\" + formatMl(syringeVolumeLabel) + \" ml)\";\r\n\r\n      if (!result || result.status !== \"ok\") {\r\n        resultNumber.textContent = \"0.000\";\r\n        resultUnits.textContent = \"0\";\r\n        resultCaption.textContent = result && result.message\r\n          ? result.message\r\n          : \"Enter peptide amounts and doses to calculate your draw amount.\";\r\n        warning.hidden = !result || !result.message;\r\n        warning.textContent = result && result.message ? result.message : \"\";\r\n        buildScale(maxUnits);\r\n        barrelMeter.setAttribute(\"y\", String(SCALE_BOTTOM_Y));\r\n        barrelMeter.setAttribute(\"height\", \"0\");\r\n        plungerStop.setAttribute(\"y\", String(SCALE_BOTTOM_Y));\r\n        plungerStop.setAttribute(\"height\", \"0\");\r\n        plungerStop.setAttribute(\"opacity\", \"0\");\r\n        plungerRod.setAttribute(\"height\", String(Math.max(12, SCALE_BOTTOM_Y - 42)));\r\n        drawMarkerLine.setAttribute(\"y1\", String(SCALE_BOTTOM_Y));\r\n        drawMarkerLine.setAttribute(\"y2\", String(SCALE_BOTTOM_Y));\r\n        drawMarkerLine.setAttribute(\"opacity\", \"0\");\r\n        drawMarkerLabelBg.setAttribute(\"y\", String(SCALE_BOTTOM_Y - 10));\r\n        drawMarkerLabelBg.setAttribute(\"opacity\", \"0\");\r\n        drawMarkerLabel.setAttribute(\"y\", String(SCALE_BOTTOM_Y + 4));\r\n        drawMarkerLabel.setAttribute(\"opacity\", \"0\");\r\n        drawMarkerLabel.textContent = \"0.000ml\";\r\n        return;\r\n      }\r\n\r\n      const { drawMl, unitsRequired, maxUnits: resultMaxUnits } = result;\r\n      const exceedsSyringe = unitsRequired > resultMaxUnits;\r\n\r\n      resultNumber.textContent = formatMl(drawMl);\r\n      resultUnits.textContent = formatUnits(unitsRequired);\r\n      resultCaption.textContent = \"For \" + getSelectedBlendSummary(result.activePeptides) + \", pull the syringe to \" +\r\n        formatUnits(unitsRequired) + \" units.\";\r\n\r\n      warning.hidden = !exceedsSyringe;\r\n      warning.textContent = exceedsSyringe\r\n        ? \"Syringe volume is not sufficient for specified dosage. Required: \" +\r\n          formatMl(drawMl) +\r\n          \" ml (\" +\r\n          formatUnits(unitsRequired) +\r\n          \" units).\"\r\n        : \"\";\r\n\r\n      buildScale(resultMaxUnits);\r\n\r\n      const syringeCapacityMl = resultMaxUnits \/ 100;\r\n      const meterPercent = Math.max(0, Math.min(100, (drawMl \/ syringeCapacityMl) * 100));\r\n      const fillHeight = (meterPercent \/ 100) * SCALE_HEIGHT;\r\n      const fillY = SCALE_BOTTOM_Y - fillHeight;\r\n\r\n      barrelMeter.setAttribute(\"y\", fillY.toFixed(2));\r\n      barrelMeter.setAttribute(\"height\", fillHeight.toFixed(2));\r\n\r\n      const markerY = fillY.toFixed(2);\r\n      const markerLabelBgY = Math.max(SCALE_TOP_Y, Math.min(SCALE_BOTTOM_Y - 20, fillY - 10));\r\n      drawMarkerLine.setAttribute(\"y1\", markerY);\r\n      drawMarkerLine.setAttribute(\"y2\", markerY);\r\n      drawMarkerLine.setAttribute(\"opacity\", \"1\");\r\n      drawMarkerLabelBg.setAttribute(\"y\", markerLabelBgY.toFixed(2));\r\n      drawMarkerLabelBg.setAttribute(\"opacity\", \"0.96\");\r\n      drawMarkerLabel.setAttribute(\"y\", (markerLabelBgY + 14).toFixed(2));\r\n      drawMarkerLabel.setAttribute(\"opacity\", \"1\");\r\n      drawMarkerLabel.textContent = formatMl(drawMl) + \"ml\";\r\n\r\n      const stopY = Math.max(SCALE_TOP_Y - 1, Math.min(SCALE_BOTTOM_Y - 1, fillY - 1));\r\n      plungerStop.setAttribute(\"y\", stopY.toFixed(2));\r\n      plungerStop.setAttribute(\"height\", \"2\");\r\n      plungerStop.setAttribute(\"opacity\", \"1\");\r\n      plungerRod.setAttribute(\"height\", Math.max(12, stopY - 34).toFixed(2));\r\n    }\r\n\r\n    function parsePeptideInputValue(input) {\r\n      const rawValue = input.value.trim();\r\n      if (rawValue === \"\") {\r\n        return 0;\r\n      }\r\n\r\n      const parsed = Number.parseFloat(rawValue);\r\n      return Number.isFinite(parsed) && parsed >= 0 ? parsed : null;\r\n    }\r\n\r\n    function addPeptide() {\r\n      if (state.activePeptideCount >= state.peptides.length) {\r\n        return;\r\n      }\r\n\r\n      state.activePeptideCount += 1;\r\n      updatePeptideLayout();\r\n\r\n      const nextInput = root.querySelector(\r\n        '.pc-peptide-input[data-peptide-index=\"' + (state.activePeptideCount - 1) + '\"][data-field=\"mg\"]'\r\n      );\r\n      if (nextInput) {\r\n        nextInput.focus();\r\n      }\r\n      updateResult();\r\n    }\r\n\r\n    function removePeptide(peptideIndex) {\r\n      if (!Number.isFinite(peptideIndex) || peptideIndex <= 0 || peptideIndex >= state.activePeptideCount) {\r\n        return;\r\n      }\r\n\r\n      for (let index = peptideIndex; index < state.peptides.length - 1; index += 1) {\r\n        state.peptides[index] = { ...state.peptides[index + 1] };\r\n      }\r\n\r\n      state.peptides[state.peptides.length - 1] = { mg: 0, doseMcg: 0 };\r\n      state.activePeptideCount = Math.max(1, state.activePeptideCount - 1);\r\n      updatePeptideLayout();\r\n      updateResult();\r\n    }\r\n\r\n    function initGroup(groupName, inputId, customRowId, minValue) {\r\n      const group = root.querySelector('[data-group=\"' + groupName + '\"]');\r\n      if (!group) {\r\n        return;\r\n      }\r\n\r\n      const buttons = Array.from(group.querySelectorAll(\".pc-pill\"));\r\n      const input = root.querySelector(\"#\" + inputId);\r\n      const customRow = root.querySelector(\"#\" + customRowId);\r\n\r\n      if (!input || !customRow) {\r\n        return;\r\n      }\r\n\r\n      function setActiveButton(activeButton) {\r\n        buttons.forEach((button) => {\r\n          const isActive = button === activeButton;\r\n          button.classList.toggle(\"active\", isActive);\r\n          button.setAttribute(\"aria-pressed\", String(isActive));\r\n        });\r\n      }\r\n\r\n      buttons.forEach((button) => {\r\n        button.addEventListener(\"click\", () => {\r\n          if (button.dataset.other === \"true\") {\r\n            setActiveButton(button);\r\n            customRow.hidden = false;\r\n            input.focus();\r\n            const parsed = Number.parseFloat(input.value);\r\n            state[groupName] = Number.isFinite(parsed) && parsed >= minValue ? parsed : null;\r\n            updateResult();\r\n            return;\r\n          }\r\n\r\n          customRow.hidden = true;\r\n          input.value = \"\";\r\n          setActiveButton(button);\r\n          state[groupName] = Number.parseFloat(button.dataset.value);\r\n          updateResult();\r\n        });\r\n      });\r\n\r\n      input.addEventListener(\"input\", () => {\r\n        const parsed = Number.parseFloat(input.value);\r\n        state[groupName] = Number.isFinite(parsed) && parsed >= minValue ? parsed : null;\r\n        updateResult();\r\n      });\r\n    }\r\n\r\n    peptideInputs.forEach((input) => {\r\n      input.addEventListener(\"input\", () => {\r\n        const index = Number.parseInt(input.dataset.peptideIndex || \"\", 10);\r\n        const field = input.dataset.field;\r\n        if (!Number.isFinite(index) || !state.peptides[index] || (field !== \"mg\" && field !== \"doseMcg\")) {\r\n          return;\r\n        }\r\n\r\n        state.peptides[index][field] = parsePeptideInputValue(input);\r\n        updateResult();\r\n      });\r\n    });\r\n\r\n    addPeptideButton.addEventListener(\"click\", addPeptide);\r\n\r\n    removePeptideButtons.forEach((button) => {\r\n      button.addEventListener(\"click\", () => {\r\n        const peptideIndex = Number.parseInt(button.dataset.removePeptide || \"\", 10);\r\n        removePeptide(peptideIndex);\r\n      });\r\n    });\r\n\r\n    initGroup(\"syringeVolume\", \"pc-syringe-input\", \"pc-syringe-custom\", 0.1);\r\n    initGroup(\"waterMl\", \"pc-water-input\", \"pc-water-custom\", 0.1);\r\n    updatePeptideLayout();\r\n    buildScale(state.syringeVolume * 100);\r\n    updateResult();\r\n  })();\r\n<\/script>\r\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>Enter The Details To Calculate Your Peptide Dosage. Syringe Volume 0.3 ml 0.5 ml 1.0 ml Other ml Peptide Vial Quantity Start with Peptide 1. Add up to 2 more peptides in the same vial. Add Peptide Peptide 1 mg Peptide 2 mg Peptide 3 mg Bacteriostatic Water 1 ml 2 ml 3 ml 5 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-1537","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/pages\/1537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/comments?post=1537"}],"version-history":[{"count":4,"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/pages\/1537\/revisions"}],"predecessor-version":[{"id":1541,"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/pages\/1537\/revisions\/1541"}],"wp:attachment":[{"href":"https:\/\/elitepeptidelabs.net\/usa\/wp-json\/wp\/v2\/media?parent=1537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}