{"id":3850,"date":"2026-05-06T16:38:12","date_gmt":"2026-05-06T09:38:12","guid":{"rendered":"https:\/\/www.itemku.com\/en\/blog\/?page_id=3850"},"modified":"2026-05-06T16:40:47","modified_gmt":"2026-05-06T09:40:47","slug":"grow-a-garden-calculator","status":"publish","type":"page","link":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/","title":{"rendered":"Grow A Garden Calculator Roblox"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3850\" class=\"elementor elementor-3850\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-646df5e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"646df5e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-be6d533\" data-id=\"be6d533\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bbf131f elementor-widget elementor-widget-html\" data-id=\"bbf131f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Grow a Garden Calculator<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800&display=swap\" rel=\"stylesheet\">\n<style>\n  \/* ===== ROOT VARIABLES ===== *\/\n  :root {\n    --green-dark: #1a6b2e;\n    --green-mid:  #2d9e50;\n    --green-light:#4ecb6e;\n    --green-pale: #d4f5df;\n    --yellow:     #f7c948;\n    --orange:     #f4882a;\n    --purple:     #8b5cf6;\n    --red:        #e84040;\n    --sky:        #38bdf8;\n    --bg:         #f0faf3;\n    --card:       #ffffff;\n    --border:     #c3e6ce;\n    --text:       #1c3a27;\n    --muted:      #6b8c76;\n    --shadow:     0 4px 20px rgba(45,158,80,0.12);\n    --radius:     16px;\n    --radius-sm:  10px;\n  }\n\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  body {\n    font-family: 'Nunito', sans-serif;\n    background: var(--bg);\n    color: var(--text);\n    min-height: 100vh;\n  }\n\n  \/* ===== WRAPPER ===== *\/\n  .gag-calc {\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 24px 16px 48px;\n  }\n\n  \/* ===== HEADER ===== *\/\n  .gag-header {\n    text-align: center;\n    margin-bottom: 32px;\n    font-size: 40px;\n    font-weight: bold;\n  }\n  .gag-header h1 {\n    font-family: 'Fredoka One', cursive;\n    font-size: clamp(1.8rem, 5vw, 2.8rem);\n    color: var(--green-dark);\n    letter-spacing: 0.5px;\n    line-height: 1.1;\n  }\n  .gag-header h1 span { color: var(--green-mid); }\n  .gag-header p {\n    margin-top: 8px;\n    color: var(--muted);\n    font-size: 0.95rem;\n    font-weight: 600;\n  }\n  .gag-badge {\n    display: inline-block;\n    background: var(--green-pale);\n    color: var(--green-dark);\n    border: 1px solid var(--border);\n    border-radius: 100px;\n    padding: 4px 14px;\n    font-size: 0.78rem;\n    font-weight: 700;\n    margin-top: 10px;\n    letter-spacing: 0.5px;\n  }\n\n  \/* ===== MAIN GRID ===== *\/\n  .gag-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px;\n  }\n  @media (max-width: 640px) {\n    .gag-grid { grid-template-columns: 1fr; }\n  }\n\n  \/* ===== CARD ===== *\/\n  .gag-card {\n    background: var(--card);\n    border-radius: var(--radius);\n    border: 1.5px solid var(--border);\n    padding: 20px;\n    box-shadow: var(--shadow);\n  }\n  .gag-card.full { grid-column: 1 \/ -1; }\n\n  .gag-card-title {\n    font-family: 'Fredoka One', cursive;\n    font-size: 1rem;\n    color: var(--green-dark);\n    margin-bottom: 14px;\n    display: flex;\n    align-items: center;\n    gap: 7px;\n  }\n  .gag-card-title .icon {\n    width: 28px; height: 28px;\n    background: var(--green-pale);\n    border-radius: 8px;\n    display: flex; align-items: center; justify-content: center;\n    font-size: 14px;\n  }\n\n  \/* ===== SEARCH ===== *\/\n  .gag-search {\n    position: relative;\n    margin-bottom: 12px;\n  }\n  .gag-search input {\n    width: 100%;\n    padding: 10px 10px 10px 36px;\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius-sm);\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.9rem;\n    font-weight: 600;\n    color: var(--text);\n    background: var(--bg);\n    outline: none;\n    transition: border-color 0.2s;\n  }\n  .gag-search input:focus { border-color: var(--green-mid); }\n  .gag-search .search-icon {\n    position: absolute;\n    left: 10px; top: 50%;\n    transform: translateY(-50%);\n    color: var(--muted);\n    font-size: 15px;\n    pointer-events: none;\n  }\n\n  \/* ===== CATEGORY TABS ===== *\/\n  .gag-cats {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n    margin-bottom: 12px;\n  }\n  .gag-cat-btn {\n    padding: 4px 10px;\n    border-radius: 100px;\n    border: 1.5px solid var(--border);\n    background: white;\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.75rem;\n    font-weight: 700;\n    color: var(--muted);\n    cursor: pointer;\n    transition: all 0.15s;\n  }\n  .gag-cat-btn:hover, .gag-cat-btn.active {\n    background: var(--green-mid);\n    border-color: var(--green-mid);\n    color: white;\n  }\n\n  \/* ===== PLANT GRID ===== *\/\n  .gag-plant-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));\n    gap: 8px;\n    max-height: 300px;\n    overflow-y: auto;\n    padding-right: 4px;\n  }\n  .gag-plant-grid::-webkit-scrollbar { width: 5px; }\n  .gag-plant-grid::-webkit-scrollbar-thumb { background: var(--border); border-radius: 10px; }\n\n  .plant-card {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    padding: 8px 4px;\n    border-radius: var(--radius-sm);\n    border: 1.5px solid var(--border);\n    background: var(--bg);\n    cursor: pointer;\n    transition: all 0.15s;\n    text-align: center;\n  }\n  .plant-card:hover { border-color: var(--green-mid); background: var(--green-pale); }\n  .plant-card.selected {\n    border-color: var(--green-mid);\n    background: var(--green-pale);\n    box-shadow: 0 0 0 2px var(--green-mid);\n  }\n  .plant-card .plant-emoji { font-size: 22px; margin-bottom: 3px; }\n  .plant-card .plant-name {\n    font-size: 0.62rem;\n    font-weight: 700;\n    color: var(--text);\n    word-break: break-word;\n    line-height: 1.2;\n  }\n  .plant-card .plant-base {\n    font-size: 0.58rem;\n    color: var(--muted);\n    margin-top: 2px;\n    font-weight: 600;\n  }\n\n  \/* ===== SELECTED PLANT DISPLAY ===== *\/\n  .selected-plant-display {\n    display: none;\n    align-items: center;\n    gap: 12px;\n    padding: 12px 16px;\n    background: var(--green-pale);\n    border: 1.5px solid var(--green-light);\n    border-radius: var(--radius-sm);\n    margin-bottom: 14px;\n  }\n  .selected-plant-display.visible { display: flex; }\n  .selected-plant-display .sp-emoji { font-size: 36px; }\n  .selected-plant-display .sp-info { flex: 1; }\n  .selected-plant-display .sp-name {\n    font-family: 'Fredoka One', cursive;\n    font-size: 1.1rem;\n    color: var(--green-dark);\n  }\n  .selected-plant-display .sp-base {\n    font-size: 0.8rem;\n    font-weight: 700;\n    color: var(--muted);\n  }\n  .selected-plant-display .sp-clear {\n    background: none;\n    border: none;\n    cursor: pointer;\n    font-size: 18px;\n    color: var(--muted);\n    padding: 4px;\n  }\n\n  \/* ===== MUTATIONS ===== *\/\n  .gag-mut-section { margin-bottom: 14px; }\n  .gag-mut-label {\n    font-size: 0.75rem;\n    font-weight: 800;\n    color: var(--muted);\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n    margin-bottom: 7px;\n  }\n  .gag-mut-group {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n  }\n  .mut-btn {\n    padding: 5px 10px;\n    border-radius: 100px;\n    border: 1.5px solid var(--border);\n    background: white;\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.72rem;\n    font-weight: 700;\n    color: var(--text);\n    cursor: pointer;\n    transition: all 0.15s;\n    display: flex;\n    align-items: center;\n    gap: 4px;\n  }\n  .mut-btn .mult {\n    font-size: 0.65rem;\n    font-weight: 800;\n    opacity: 0.7;\n  }\n  .mut-btn:hover { border-color: currentColor; }\n\n  \/* Temperature *\/\n  .mut-btn.temp:hover, .mut-btn.temp.active {\n    background: #dbeafe; border-color: #3b82f6; color: #1d4ed8;\n  }\n  \/* Special (Gold\/Rainbow) *\/\n  .mut-btn.special:hover, .mut-btn.special.active {\n    background: #fef9c3; border-color: #eab308; color: #854d0e;\n  }\n  \/* Other - color by rarity *\/\n  .mut-btn.other { }\n  .mut-btn.rare:hover, .mut-btn.rare.active {\n    background: #f3e8ff; border-color: #a855f7; color: #6b21a8;\n  }\n  .mut-btn.epic:hover, .mut-btn.epic.active {\n    background: #fce7f3; border-color: #ec4899; color: #9d174d;\n  }\n  .mut-btn.legendary:hover, .mut-btn.legendary.active {\n    background: #ffedd5; border-color: #f97316; color: #9a3412;\n  }\n  .mut-btn.mythic:hover, .mut-btn.mythic.active {\n    background: #fee2e2; border-color: #ef4444; color: #991b1b;\n  }\n\n  \/* ===== WEIGHT INPUT ===== *\/\n  .weight-input-wrap {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 4px;\n  }\n  .weight-input-wrap input[type=\"number\"] {\n    flex: 1;\n    padding: 10px 12px;\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius-sm);\n    font-family: 'Nunito', sans-serif;\n    font-size: 1rem;\n    font-weight: 700;\n    color: var(--text);\n    background: var(--bg);\n    outline: none;\n    transition: border-color 0.2s;\n  }\n  .weight-input-wrap input:focus { border-color: var(--green-mid); }\n  .weight-unit {\n    font-size: 0.85rem;\n    font-weight: 700;\n    color: var(--muted);\n    white-space: nowrap;\n  }\n  .weight-hint {\n    font-size: 0.72rem;\n    color: var(--muted);\n    font-weight: 600;\n  }\n\n  \/* ===== FRIEND MULTIPLIER ===== *\/\n  .friend-btns {\n    display: flex;\n    gap: 6px;\n    flex-wrap: wrap;\n  }\n  .friend-btn {\n    padding: 6px 12px;\n    border-radius: 100px;\n    border: 1.5px solid var(--border);\n    background: white;\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.78rem;\n    font-weight: 800;\n    color: var(--muted);\n    cursor: pointer;\n    transition: all 0.15s;\n  }\n  .friend-btn:hover, .friend-btn.active {\n    background: var(--sky);\n    border-color: #0ea5e9;\n    color: #0c4a6e;\n  }\n\n  \/* ===== QUANTITY ===== *\/\n  .qty-wrap {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n  }\n  .qty-btn {\n    width: 36px; height: 36px;\n    border-radius: 50%;\n    border: 1.5px solid var(--border);\n    background: white;\n    font-size: 1.2rem;\n    font-weight: 700;\n    color: var(--green-dark);\n    cursor: pointer;\n    display: flex; align-items: center; justify-content: center;\n    transition: all 0.15s;\n  }\n  .qty-btn:hover { background: var(--green-pale); border-color: var(--green-mid); }\n  .qty-display {\n    font-family: 'Fredoka One', cursive;\n    font-size: 1.3rem;\n    color: var(--text);\n    min-width: 50px;\n    text-align: center;\n  }\n  .qty-presets {\n    display: flex;\n    gap: 6px;\n    margin-top: 8px;\n  }\n  .qty-preset {\n    padding: 4px 10px;\n    border-radius: 100px;\n    border: 1.5px solid var(--border);\n    background: white;\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.75rem;\n    font-weight: 800;\n    color: var(--muted);\n    cursor: pointer;\n    transition: all 0.15s;\n  }\n  .qty-preset:hover { background: var(--green-pale); border-color: var(--green-mid); color: var(--green-dark); }\n\n  \/* ===== RESULT ===== *\/\n  .gag-result {\n    background: linear-gradient(135deg, var(--green-dark) 0%, #1d7a38 100%);\n    border-radius: var(--radius);\n    padding: 24px;\n    text-align: center;\n    color: white;\n    position: relative;\n    overflow: hidden;\n  }\n  .gag-result::before {\n    content: '\ud83c\udf31';\n    position: absolute;\n    font-size: 80px;\n    opacity: 0.08;\n    right: -10px;\n    bottom: -10px;\n  }\n  .result-label {\n    font-size: 0.8rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    opacity: 0.75;\n    margin-bottom: 8px;\n  }\n  .result-value {\n    font-family: 'Fredoka One', cursive;\n    font-size: clamp(2rem, 6vw, 3rem);\n    color: var(--yellow);\n    line-height: 1;\n    margin-bottom: 4px;\n    word-break: break-all;\n    transition: all 0.3s;\n  }\n  .result-unit {\n    font-size: 0.85rem;\n    opacity: 0.75;\n    font-weight: 700;\n    margin-bottom: 16px;\n  }\n  .result-breakdown {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 10px;\n    margin-top: 16px;\n  }\n  .result-item {\n    background: rgba(255,255,255,0.1);\n    border-radius: 10px;\n    padding: 8px 6px;\n    font-size: 0.72rem;\n  }\n  .result-item .ri-label { opacity: 0.7; margin-bottom: 2px; font-weight: 700; }\n  .result-item .ri-val { font-weight: 800; font-size: 0.85rem; }\n\n  .result-no-plant {\n    opacity: 0.6;\n    font-size: 0.9rem;\n    font-weight: 700;\n    padding: 10px 0;\n  }\n\n  \/* ===== RESET BTN ===== *\/\n  .gag-reset {\n    display: block;\n    width: 100%;\n    margin-top: 12px;\n    padding: 10px;\n    background: rgba(255,255,255,0.12);\n    border: 1.5px solid rgba(255,255,255,0.25);\n    border-radius: var(--radius-sm);\n    color: white;\n    font-family: 'Nunito', sans-serif;\n    font-size: 0.85rem;\n    font-weight: 700;\n    cursor: pointer;\n    transition: all 0.2s;\n  }\n  .gag-reset:hover { background: rgba(255,255,255,0.22); }\n\n  \/* ===== MUTATION SUMMARY ===== *\/\n  .mut-summary {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 5px;\n    margin-top: 10px;\n    min-height: 24px;\n  }\n  .mut-tag {\n    padding: 2px 8px;\n    background: rgba(255,255,255,0.15);\n    border-radius: 100px;\n    font-size: 0.68rem;\n    font-weight: 700;\n    border: 1px solid rgba(255,255,255,0.2);\n  }\n\n  \/* ===== EMPTY STATE ===== *\/\n  .no-results {\n    text-align: center;\n    padding: 24px;\n    color: var(--muted);\n    font-size: 0.85rem;\n    font-weight: 700;\n    display: none;\n  }\n\n  \/* ===== FOOTER NOTE ===== *\/\n  .gag-note {\n    margin-top: 20px;\n    text-align: center;\n    font-size: 0.72rem;\n    color: var(--muted);\n    font-weight: 600;\n    line-height: 1.6;\n  }\n\n  \/* ===== ARTICLE \/ BOTTOM CONTENT ===== *\/\n  .gag-article {\n    max-width: 900px;\n    margin: 48px auto 0;\n    padding: 0 16px 64px;\n  }\n\n  .gag-article-divider {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    margin-bottom: 40px;\n  }\n  .gag-article-divider::before,\n  .gag-article-divider::after {\n    content: '';\n    flex: 1;\n    height: 2px;\n    background: linear-gradient(to right, transparent, var(--border));\n  }\n  .gag-article-divider::after {\n    background: linear-gradient(to left, transparent, var(--border));\n  }\n  .gag-article-divider span {\n    font-family: 'Fredoka One', cursive;\n    font-size: 0.85rem;\n    color: var(--muted);\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    white-space: nowrap;\n  }\n\n  .gag-article article {\n    background: var(--card);\n    border: 1.5px solid var(--border);\n    border-radius: var(--radius);\n    padding: 36px 40px;\n    box-shadow: var(--shadow);\n    line-height: 1.75;\n  }\n  @media (max-width: 640px) {\n    .gag-article article { padding: 24px 18px; }\n  }\n\n  .gag-article article header {\n    margin-bottom: 32px;\n    padding-bottom: 24px;\n    border-bottom: 2px solid var(--green-pale);\n  }\n  .gag-article article h1 {\n    font-family: 'Fredoka One', cursive;\n    font-size: clamp(1.4rem, 3.5vw, 2rem);\n    color: var(--green-dark);\n    line-height: 1.2;\n    margin-bottom: 14px;\n  }\n  .gag-article article header p {\n    font-size: 0.97rem;\n    color: var(--muted);\n    font-weight: 600;\n    line-height: 1.7;\n  }\n  .gag-article article header p + p { margin-top: 10px; }\n\n  .gag-article article section {\n    margin-bottom: 32px;\n  }\n  .gag-article article h2 {\n    font-family: 'Fredoka One', cursive;\n    font-size: 1.3rem;\n    color: var(--green-dark);\n    margin-bottom: 12px;\n    padding-left: 12px;\n    border-left: 4px solid var(--green-mid);\n  }\n  .gag-article article h3 {\n    font-family: 'Fredoka One', cursive;\n    font-size: 1.05rem;\n    color: var(--green-mid);\n    margin: 18px 0 8px;\n  }\n  .gag-article article p {\n    font-size: 0.93rem;\n    color: #2e4a37;\n    font-weight: 600;\n    margin-bottom: 10px;\n    line-height: 1.8;\n  }\n  .gag-article article strong {\n    color: var(--green-dark);\n    font-weight: 800;\n  }\n  .gag-article article ul,\n  .gag-article article ol {\n    padding-left: 22px;\n    margin: 10px 0 14px;\n  }\n  .gag-article article li {\n    font-size: 0.93rem;\n    font-weight: 600;\n    color: #2e4a37;\n    margin-bottom: 6px;\n    line-height: 1.7;\n  }\n  .gag-article article li strong { color: var(--green-dark); }\n\n  \/* TABLE *\/\n  .gag-article article table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 16px 0 20px;\n    border-radius: var(--radius-sm);\n    overflow: hidden;\n    font-size: 0.88rem;\n    font-weight: 700;\n  }\n  .gag-article article thead tr {\n    background: var(--green-dark);\n    color: white;\n  }\n  .gag-article article thead th {\n    padding: 11px 14px;\n    text-align: left;\n    font-family: 'Fredoka One', cursive;\n    font-size: 0.9rem;\n    letter-spacing: 0.3px;\n  }\n  .gag-article article tbody tr:nth-child(odd) { background: var(--green-pale); }\n  .gag-article article tbody tr:nth-child(even) { background: #edf9f2; }\n  .gag-article article tbody td {\n    padding: 10px 14px;\n    color: var(--text);\n    border-bottom: 1px solid var(--border);\n  }\n  .gag-article article tbody td strong { color: var(--green-dark); }\n\n  \/* FOOTER SECTION *\/\n  .gag-article article footer {\n    margin-top: 32px;\n    padding-top: 24px;\n    border-top: 2px solid var(--green-pale);\n    background: linear-gradient(135deg, var(--green-pale) 0%, #e8f9ee 100%);\n    border-radius: var(--radius-sm);\n    padding: 24px;\n  }\n  .gag-article article footer h2 {\n    border-left-color: var(--yellow);\n    color: var(--green-dark);\n  }\n  .label{\n    font-size: 20;\n    font-weight: bold;\n  }\n  .gag-article article footer p { color: var(--green-dark); }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"gag-calc\">\n\n  <!-- HEADER -->\n  <div class=\"gag-header\">\n    <label>\ud83c\udf3f Grow a Garden <span>Calculator<\/span><\/label>\n    <p>Calculate plant values with mutations, weight & friend bonus<\/p>\n    <span class=\"gag-badge\">\ud83c\udfae Roblox \u00b7 130+ Plants \u00b7 50+ Mutations<\/span>\n  <\/div>\n\n  <!-- MAIN GRID -->\n  <div class=\"gag-grid\">\n\n    <!-- LEFT: PLANT SELECTOR -->\n    <div class=\"gag-card full\" id=\"plantSelectorCard\">\n      <div class=\"gag-card-title\">\n        <div class=\"icon\">\ud83c\udf31<\/div> Select Plant\n      <\/div>\n\n      <!-- Selected plant display -->\n      <div class=\"selected-plant-display\" id=\"selectedDisplay\">\n        <div class=\"sp-emoji\" id=\"selEmoji\"><\/div>\n        <div class=\"sp-info\">\n          <div class=\"sp-name\" id=\"selName\"><\/div>\n          <div class=\"sp-base\" id=\"selBase\"><\/div>\n        <\/div>\n        <button class=\"sp-clear\" onclick=\"clearPlant()\">\u2715<\/button>\n      <\/div>\n\n      <!-- Search -->\n      <div class=\"gag-search\">\n        <span class=\"search-icon\">\ud83d\udd0d<\/span>\n        <input type=\"text\" id=\"plantSearch\" placeholder=\"Search plant...\" oninput=\"filterPlants()\">\n      <\/div>\n\n      <!-- Categories -->\n      <div class=\"gag-cats\" id=\"catBtns\"><\/div>\n\n      <!-- Plant Grid -->\n      <div class=\"gag-plant-grid\" id=\"plantGrid\"><\/div>\n      <div class=\"no-results\" id=\"noResults\">No plants found \ud83c\udf35<\/div>\n    <\/div>\n\n    <!-- MIDDLE LEFT: MUTATIONS -->\n    <div class=\"gag-card\">\n      <div class=\"gag-card-title\">\n        <div class=\"icon\">\ud83e\uddec<\/div> Mutations & Modifiers\n      <\/div>\n\n      <!-- Temperature -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\ud83c\udf21\ufe0f Temperature (pick one)<\/div>\n        <div class=\"gag-mut-group\" id=\"tempMuts\"><\/div>\n      <\/div>\n\n      <!-- Special -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\u2728 Special (pick one)<\/div>\n        <div class=\"gag-mut-group\" id=\"specMuts\"><\/div>\n      <\/div>\n\n      <!-- Other -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\u26a1 Other Mutations (multi-select)<\/div>\n        <div class=\"gag-mut-group\" id=\"otherMuts\"><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- MIDDLE RIGHT: MODIFIERS -->\n    <div class=\"gag-card\">\n      <div class=\"gag-card-title\">\n        <div class=\"icon\">\u2699\ufe0f<\/div> Modifiers\n      <\/div>\n\n      <!-- Weight -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\u2696\ufe0f Weight<\/div>\n        <div class=\"weight-input-wrap\">\n          <input type=\"number\" id=\"weightInput\" min=\"0\" step=\"0.01\" placeholder=\"0.00\" oninput=\"calculate()\">\n          <span class=\"weight-unit\">kg<\/span>\n        <\/div>\n        <div class=\"weight-hint\" id=\"weightHint\">Select a plant first<\/div>\n      <\/div>\n\n      <!-- Friend Multiplier -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\ud83d\udc6b Friend Multiplier<\/div>\n        <div class=\"friend-btns\" id=\"friendBtns\"><\/div>\n      <\/div>\n\n      <!-- Quantity -->\n      <div class=\"gag-mut-section\">\n        <div class=\"gag-mut-label\">\ud83d\udce6 Quantity<\/div>\n        <div class=\"qty-wrap\">\n          <button class=\"qty-btn\" onclick=\"changeQty(-1)\">\u2212<\/button>\n          <div class=\"qty-display\" id=\"qtyDisplay\">1<\/div>\n          <button class=\"qty-btn\" onclick=\"changeQty(1)\">+<\/button>\n        <\/div>\n        <div class=\"qty-presets\">\n          <button class=\"qty-preset\" onclick=\"setQty(10)\">\u00d710<\/button>\n          <button class=\"qty-preset\" onclick=\"setQty(100)\">\u00d7100<\/button>\n          <button class=\"qty-preset\" onclick=\"setQty(1000)\">\u00d71K<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- RESULT -->\n    <div class=\"gag-card full\">\n      <div class=\"gag-result\" id=\"resultBox\">\n        <div class=\"result-label\">\ud83c\udf3e Total Plant Value<\/div>\n        <div class=\"result-value\" id=\"resultValue\">\u2014<\/div>\n        <div class=\"result-unit\">Sheckles<\/div>\n        <div class=\"mut-summary\" id=\"mutSummary\"><\/div>\n        <div class=\"result-breakdown\" id=\"breakdown\" style=\"display:none\">\n          <div class=\"result-item\">\n            <div class=\"ri-label\">Base Value<\/div>\n            <div class=\"ri-val\" id=\"bdBase\">\u2014<\/div>\n          <\/div>\n          <div class=\"result-item\">\n            <div class=\"ri-label\">Mutation \u00d7<\/div>\n            <div class=\"ri-val\" id=\"bdMut\">1\u00d7<\/div>\n          <\/div>\n          <div class=\"result-item\">\n            <div class=\"ri-label\">With Weight<\/div>\n            <div class=\"ri-val\" id=\"bdWeight\">\u2014<\/div>\n          <\/div>\n          <div class=\"result-item\">\n            <div class=\"ri-label\">Friend Bonus<\/div>\n            <div class=\"ri-val\" id=\"bdFriend\">1.0\u00d7<\/div>\n          <\/div>\n          <div class=\"result-item\">\n            <div class=\"ri-label\">Quantity<\/div>\n            <div class=\"ri-val\" id=\"bdQty\">\u00d71<\/div>\n          <\/div>\n          <div class=\"result-item\">\n            <div class=\"ri-label\">Per Unit<\/div>\n            <div class=\"ri-val\" id=\"bdPer\">\u2014<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"result-no-plant\" id=\"noPlantMsg\">\ud83d\udc46 Select a plant above to calculate its value<\/div>\n        <button class=\"gag-reset\" onclick=\"resetAll()\">\u21ba Reset Calculator<\/button>\n      <\/div>\n    <\/div>\n\n  <\/div><!-- end grid -->\n\n  <div class=\"gag-note\">\n    \ud83d\udcdd Fan-made tool. Values based on community research from Roblox Grow a Garden.<br>\n    Game values may change after updates. Results are for estimation purposes.\n  <\/div>\n\n<\/div><!-- end gag-calc -->\n\n<!-- ===== BOTTOM ARTICLE CONTENT ===== -->\n<div class=\"gag-article\">\n\n  <div class=\"gag-article-divider\">\n    <span>\ud83d\udcd6 Strategy Guide<\/span>\n  <\/div>\n\n  <article>\n    <header>\n      <h1>Master the Market: The Ultimate Grow a Garden Calculator Guide<\/h1>\n      <p>Roblox enthusiasts know that <strong>Grow a Garden<\/strong> isn't just about planting seeds. It's a high-stakes economy. You spend hours grinding for that one <strong>Rainbow Sprout<\/strong>. You finally get a <strong>Godly<\/strong> mutation. Now, the real challenge begins: trading.<\/p>\n      <p>Most players guess their item values. They rely on \"vibes\" or outdated Discord screenshots. This leads to massive losses. A <strong>Grow a Garden calculator<\/strong> changes the game entirely. It turns guesswork into cold, hard profit.<\/p>\n    <\/header>\n\n    <section>\n      <h2>Why You Need a Value Framework<\/h2>\n      <p>The economy in this game moves fast. New <strong>Seed Packs<\/strong> drop. Event pets like the <strong>Mystic Deer<\/strong> flood the market. Prices crash or skyrocket overnight. Without a framework, you are trading blind.<\/p>\n      <p>A <strong>Grow a Garden trade calculator<\/strong> acts as your financial advisor. It tracks <strong>Base Value<\/strong> versus current demand. It helps you avoid \"L\" trades. You want \"W\" trades only. This guide explains how to master every variable.<\/p>\n      <h3>The Problem with \"Common Sense\" Trading<\/h3>\n      <p>You might think a <strong>Golden Lab<\/strong> is worth a <strong>Rainbow Frog<\/strong>. Statistically, you might be wrong. One might have a higher <strong>XP Boost<\/strong> multiplier. The other might be trending on social media. The calculator accounts for these \"invisible\" stats.<\/p>\n    <\/section>\n\n    <section>\n      <h2>The Four Pillars of the Grow a Garden Calculator<\/h2>\n      <p>To dominate, you must understand four distinct areas. Each requires a different calculation method.<\/p>\n\n      <h3>1. The Trade Calculator (WFL Analysis)<\/h3>\n      <p>This is the most used tool. You input your items. You input the other player's offer. The tool analyzes the total <strong>Weight (kg)<\/strong> of value.<\/p>\n      <ul>\n        <li><strong>Win:<\/strong> You gained more than 10% value.<\/li>\n        <li><strong>Fair:<\/strong> The values are nearly identical.<\/li>\n        <li><strong>Loss:<\/strong> You are overpaying.<\/li>\n      <\/ul>\n      <p>Don't forget <strong>Trade Tickets<\/strong>. They act as a lubricant for big deals. Always include them in your calculations.<\/p>\n\n      <h3>2. The Pet Calculator: More Than Just Cute<\/h3>\n      <p>Pets are your engine. An <strong>Eagle<\/strong> or an <strong>Owl<\/strong> provides essential <strong>XP Boosters<\/strong>. They speed up your <strong>Tech Tree<\/strong> progression. The <strong>Grow a Garden pet calculator<\/strong> looks at:<\/p>\n      <ul>\n        <li><strong>Rarity:<\/strong> Is it <strong>Legendary<\/strong>, <strong>Mythical<\/strong>, or <strong>Divine<\/strong>?<\/li>\n        <li><strong>Multipliers:<\/strong> Does it boost <strong>Sheckles<\/strong> or growth speed?<\/li>\n        <li><strong>Inventory Management:<\/strong> Can you equip it easily with your current <strong>Pet Pouch<\/strong>?<\/li>\n      <\/ul>\n      <p>A <strong>Brown Mouse<\/strong> is great early on. But a <strong>Starfish<\/strong> might hold better long-term trade value. The calculator tells you when to swap.<\/p>\n\n      <h3>3. The Mutation Calculator (The X-Factor)<\/h3>\n      <p>Mutations are rare genetic variances \u2014 the \"Shiny\" versions of the plant world. A <strong>Starflower<\/strong> is nice. A <strong>Shiny Starflower<\/strong> is a treasure. The <strong>Grow a Garden mutation calculator<\/strong> uses probability math to evaluate RNG chance. If a <strong>Magic Bean<\/strong> has a 0.1% chance to produce a <strong>Mystic Melon<\/strong>, its value explodes. Scarcity drives the price, not just utility.<\/p>\n\n      <h3>4. The Price Calculator (Currency Conversion)<\/h3>\n      <p>How many <strong>Sheckles<\/strong> is a <strong>Dragon Fruit<\/strong> worth? If you are selling in the plaza, you need an answer. This tool converts items into a \"Gold Standard\" \u2014 helping you set prices for your shop that actually sell.<\/p>\n    <\/section>\n\n    <section>\n      <h2>Value vs. Price: Know the Difference<\/h2>\n      <p>Price is what you see on a tag. Value is what the community decides. In <strong>Grow a Garden<\/strong>, these rarely match.<\/p>\n      <table>\n        <thead>\n          <tr>\n            <th>Item Type<\/th>\n            <th>Market Price (Sheckles)<\/th>\n            <th>Trading Value (Points)<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr><td><strong>Carrots<\/strong><\/td><td>100<\/td><td>0.1<\/td><\/tr>\n          <tr><td><strong>Bamboo<\/strong><\/td><td>1,200<\/td><td>1.5<\/td><\/tr>\n          <tr><td><strong>Rainbow Sprout<\/strong><\/td><td>50,000<\/td><td>75.0<\/td><\/tr>\n          <tr><td><strong>Godly Pet<\/strong><\/td><td>N\/A<\/td><td>1,000+<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n      <p><strong>Market Inflation<\/strong> is real. As <strong>CCU<\/strong> grows, more items enter the game. High-supply items like <strong>Growth Mix<\/strong> lose value over time. Rare items like the <strong>Master Sprinkler<\/strong> usually hold steady.<\/p>\n    <\/section>\n\n    <section>\n      <h2>Advanced Tactics: Beyond the Basics<\/h2>\n      <p>Expert traders don't just look at the item \u2014 they look at the environment around it.<\/p>\n      <h3>Understanding Server Wipes and Patches<\/h3>\n      <p>Games evolve. Sometimes a <strong>Server Wipe<\/strong> or a major rebalance happens. When the developers buff the <strong>Harvest Tool<\/strong>, its demand spikes. Use the <strong>Grow a Garden calculator<\/strong> to see these shifts in real-time.<\/p>\n      <h3>The Gear Multiplier<\/h3>\n      <p>Your equipment affects your net worth. A <strong>Shiny Watering Can<\/strong> or a <strong>Rainbow Hoe<\/strong> increases your efficiency. If you can grow crops 20% faster, your \"Time-to-Value\" ratio improves. Don't forget your <strong>Turbo Boots<\/strong> \u2014 speed matters when navigating large gardens. The calculator factors in how much more currency you earn per hour with better gear.<\/p>\n    <\/section>\n\n    <section>\n      <h2>How to Trade Like a Pro<\/h2>\n      <ol>\n        <li><strong>Open the Value List:<\/strong> Check the latest <strong>Base Value<\/strong> for your <strong>Starflower<\/strong> or <strong>Bamboo<\/strong>.<\/li>\n        <li><strong>Factor in Mutations:<\/strong> Is it a standard crop or a <strong>Golden<\/strong> variant?<\/li>\n        <li><strong>Check the \"Adds\":<\/strong> Small items like <strong>Growth Mix<\/strong> or <strong>Seed Packs<\/strong> can tip the scale.<\/li>\n        <li><strong>Verify on the market:<\/strong> See what players are actually paying in the real world.<\/li>\n      <\/ol>\n      <h3>The 10% Safety Buffer<\/h3>\n      <p>Never trade for \"Equal\" value on high-tier items. Demand is volatile. Always aim for a 10% surplus. If the calculator says a trade is 100 points for 100 points, ask for a small \"add.\" A few extra <strong>Sheckles<\/strong> or a low-tier pet provides a safety net.<\/p>\n    <\/section>\n\n    <footer>\n      <h2>Data-Driven Gardening for the Win<\/h2>\n      <p>Stop guessing. Start calculating. Using a <strong>Grow a Garden calculator<\/strong> isn't just for math nerds \u2014 it's for winners. It's for the players who want the best pets and the rarest gardens.<\/p>\n      <p>Understand the math of mutations. Respect the rarity of <strong>Divine<\/strong> pets. Watch the <strong>CCU<\/strong> trends. When you combine sharp insights with smart tools, you become unstoppable.<\/p>\n      <p>Ready to dominate the garden? Use the calculator above, verify your values, and finish building your collection. Your <strong>Godly<\/strong> inventory is waiting. \ud83c\udf3f<\/p>\n    <\/footer>\n  <\/article>\n\n<\/div><!-- end gag-article -->\n\n<script>\n\/\/ ============================================================\n\/\/ DATA\n\/\/ ============================================================\n\nconst PLANTS = [\n  \/\/ Seed Shop\n  { name:\"Carrot\",        emoji:\"\ud83e\udd55\", base:150,         cat:\"Seed Shop\",          minKg:0.24  },\n  { name:\"Strawberry\",    emoji:\"\ud83c\udf53\", base:150,         cat:\"Seed Shop\",          minKg:0.29  },\n  { name:\"Blueberry\",     emoji:\"\ud83e\uded0\", base:150,         cat:\"Seed Shop\",          minKg:0.17  },\n  { name:\"Tomato\",        emoji:\"\ud83c\udf45\", base:150,         cat:\"Seed Shop\",          minKg:0.44  },\n  { name:\"Corn\",          emoji:\"\ud83c\udf3d\", base:500,         cat:\"Seed Shop\",          minKg:1.9   },\n  { name:\"Daffodil\",      emoji:\"\ud83c\udf3c\", base:150,         cat:\"Seed Shop\",          minKg:0.16  },\n  { name:\"Orange Tulip\",  emoji:\"\ud83c\udf37\", base:100,         cat:\"Seed Shop\",          minKg:0.05  },\n  { name:\"Bamboo\",        emoji:\"\ud83c\udf8b\", base:1250,        cat:\"Seed Shop\",          minKg:3.8   },\n  { name:\"Watermelon\",    emoji:\"\ud83c\udf49\", base:2500,        cat:\"Seed Shop\",          minKg:7.3   },\n  { name:\"Pumpkin\",       emoji:\"\ud83c\udf83\", base:2500,        cat:\"Seed Shop\",          minKg:6.9   },\n  { name:\"Apple\",         emoji:\"\ud83c\udf4e\", base:1000,        cat:\"Seed Shop\",          minKg:2.85  },\n  { name:\"Banana\",        emoji:\"\ud83c\udf4c\", base:500,         cat:\"Seed Shop\",          minKg:1.42  },\n  { name:\"Coconut\",       emoji:\"\ud83e\udd65\", base:5000,        cat:\"Seed Shop\",          minKg:13.31 },\n  { name:\"Pineapple\",     emoji:\"\ud83c\udf4d\", base:1000,        cat:\"Seed Shop\",          minKg:2.85  },\n  { name:\"Mango\",         emoji:\"\ud83e\udd6d\", base:5000,        cat:\"Seed Shop\",          minKg:14.28 },\n  { name:\"Grape\",         emoji:\"\ud83c\udf47\", base:1000,        cat:\"Seed Shop\",          minKg:2.85  },\n  { name:\"Mushroom\",      emoji:\"\ud83c\udf44\", base:10000,       cat:\"Seed Shop\",          minKg:25.9  },\n  { name:\"Pepper\",        emoji:\"\ud83c\udf36\ufe0f\",  base:1500,        cat:\"Seed Shop\",          minKg:4.75  },\n  { name:\"Cactus\",        emoji:\"\ud83c\udf35\", base:2500,        cat:\"Seed Shop\",          minKg:6.65  },\n  { name:\"Rose\",          emoji:\"\ud83c\udf39\", base:300,         cat:\"Seed Shop\",          minKg:0.95  },\n  { name:\"Lavender\",      emoji:\"\ud83d\udc9c\", base:200,         cat:\"Seed Shop\",          minKg:0.25  },\n  { name:\"Mint\",          emoji:\"\ud83c\udf3f\", base:300,         cat:\"Seed Shop\",          minKg:0.95  },\n  { name:\"Sunflower\",     emoji:\"\ud83c\udf3b\", base:6000,        cat:\"Seed Shop\",          minKg:15.65 },\n  { name:\"Pear\",          emoji:\"\ud83c\udf50\", base:1000,        cat:\"Seed Shop\",          minKg:2.85  },\n  { name:\"Peach\",         emoji:\"\ud83c\udf51\", base:600,         cat:\"Seed Shop\",          minKg:1.9   },\n  { name:\"Raspberry\",     emoji:\"\ud83c\udf52\", base:250,         cat:\"Seed Shop\",          minKg:0.71  },\n  { name:\"Nightshade\",    emoji:\"\ud83e\uded0\", base:150,         cat:\"Seed Shop\",          minKg:0.48  },\n  { name:\"Cranberry\",     emoji:\"\ud83c\udf53\", base:300,         cat:\"Seed Shop\",          minKg:0.95  },\n  { name:\"Cauliflower\",   emoji:\"\ud83e\udd66\", base:1500,        cat:\"Seed Shop\",          minKg:4.74  },\n  { name:\"Eggplant\",      emoji:\"\ud83c\udf46\", base:1500,        cat:\"Seed Shop\",          minKg:4.75  },\n  { name:\"Avocado\",       emoji:\"\ud83e\udd51\", base:1200,        cat:\"Seed Shop\",          minKg:3.32  },\n  { name:\"Kiwi\",          emoji:\"\ud83e\udd5d\", base:1500,        cat:\"Seed Shop\",          minKg:4.75  },\n  { name:\"Papaya\",        emoji:\"\ud83e\udde1\", base:1000,        cat:\"Seed Shop\",          minKg:2.86  },\n  { name:\"Loquat\",        emoji:\"\ud83c\udf4a\", base:2200,        cat:\"Seed Shop\",          minKg:6.17  },\n  { name:\"Guanabana\",     emoji:\"\ud83c\udf48\", base:1200,        cat:\"Seed Shop\",          minKg:3.8   },\n  { name:\"Durian\",        emoji:\"\ud83c\udf48\", base:2500,        cat:\"Seed Shop\",          minKg:7.6   },\n  { name:\"Cantaloupe\",    emoji:\"\ud83c\udf48\", base:1800,        cat:\"Seed Shop\",          minKg:5.22  },\n  { name:\"Bell Pepper\",   emoji:\"\ud83e\uded1\", base:2500,        cat:\"Seed Shop\",          minKg:7.61  },\n  { name:\"Passion Fruit\", emoji:\"\ud83c\udf3a\", base:1000,        cat:\"Seed Shop\",          minKg:2.87  },\n  { name:\"Nectarine\",     emoji:\"\ud83c\udf51\", base:1000,        cat:\"Seed Shop\",          minKg:2.81  },\n\n  \/\/ Exotic Seed Pack\n  { name:\"Dragon Fruit\",  emoji:\"\ud83d\udc09\", base:4000,        cat:\"Exotic Seed Pack\",   minKg:11.38 },\n  { name:\"Starfruit\",     emoji:\"\u2b50\", base:1000,        cat:\"Exotic Seed Pack\",   minKg:2.85  },\n  { name:\"Dragonfruit\",   emoji:\"\ud83c\udf48\", base:4000,        cat:\"Exotic Seed Pack\",   minKg:11.38 },\n  { name:\"Cacao\",         emoji:\"\ud83c\udf6b\", base:2500,        cat:\"Exotic Seed Pack\",   minKg:7.6   },\n  { name:\"Prickly Pear\",  emoji:\"\ud83c\udf35\", base:2500,        cat:\"Exotic Seed Pack\",   minKg:6.65  },\n  { name:\"Feijoa\",        emoji:\"\ud83c\udf4f\", base:3000,        cat:\"Exotic Seed Pack\",   minKg:9.5   },\n  { name:\"Sugar Apple\",   emoji:\"\ud83c\udf4f\", base:3000,        cat:\"Exotic Seed Pack\",   minKg:8.55  },\n  { name:\"Beanstalk\",     emoji:\"\ud83c\udf31\", base:3000,        cat:\"Exotic Seed Pack\",   minKg:9.5   },\n  { name:\"Pitcher Plant\", emoji:\"\ud83c\udf3f\", base:4000,        cat:\"Exotic Seed Pack\",   minKg:11.4  },\n  { name:\"Rafflesia\",     emoji:\"\ud83c\udf38\", base:2500,        cat:\"Exotic Seed Pack\",   minKg:7.6   },\n  { name:\"Venus Fly Trap\",emoji:\"\ud83e\udeb2\", base:3000,        cat:\"Exotic Seed Pack\",   minKg:9.5   },\n  { name:\"Beebalm\",       emoji:\"\ud83d\udc1d\", base:300,         cat:\"Exotic Seed Pack\",   minKg:0.94  },\n  { name:\"Succulent\",     emoji:\"\ud83c\udf35\", base:1500,        cat:\"Exotic Seed Pack\",   minKg:4.75  },\n  { name:\"Foxglove\",      emoji:\"\ud83c\udf3a\", base:600,         cat:\"Exotic Seed Pack\",   minKg:1.9   },\n  { name:\"Delphinium\",    emoji:\"\ud83c\udf38\", base:100,         cat:\"Exotic Seed Pack\",   minKg:0.285 },\n  { name:\"Moonflower\",    emoji:\"\ud83c\udf19\", base:600,         cat:\"Exotic Seed Pack\",   minKg:1.9   },\n  { name:\"Dandelion\",     emoji:\"\ud83c\udf3c\", base:1250,        cat:\"Exotic Seed Pack\",   minKg:3.79  },\n  { name:\"Lily of Valley\",emoji:\"\ud83c\udf3f\", base:2000,        cat:\"Exotic Seed Pack\",   minKg:5.69  },\n  { name:\"Aloe Vera\",     emoji:\"\ud83c\udf3f\", base:1800,        cat:\"Exotic Seed Pack\",   minKg:5.22  },\n  { name:\"Coconut\",       emoji:\"\ud83e\udd65\", base:5000,        cat:\"Exotic Seed Pack\",   minKg:13.31 },\n  { name:\"Peacelily\",     emoji:\"\ud83c\udf38\", base:150,         cat:\"Exotic Seed Pack\",   minKg:0.5   },\n  { name:\"Lingonberry\",   emoji:\"\ud83c\udf53\", base:150,         cat:\"Exotic Seed Pack\",   minKg:0.485 },\n  { name:\"Crocus\",        emoji:\"\ud83c\udf37\", base:100,         cat:\"Exotic Seed Pack\",   minKg:0.285 },\n  { name:\"Serenity\",      emoji:\"\ud83c\udf38\", base:150,         cat:\"Exotic Seed Pack\",   minKg:0.24  },\n  { name:\"Lilac\",         emoji:\"\ud83d\udc9c\", base:1000,        cat:\"Exotic Seed Pack\",   minKg:2.846 },\n  { name:\"Glowshroom\",    emoji:\"\ud83c\udf44\", base:250,         cat:\"Exotic Seed Pack\",   minKg:0.7   },\n  { name:\"Nectarshade\",   emoji:\"\ud83c\udf38\", base:250,         cat:\"Exotic Seed Pack\",   minKg:0.75  },\n  { name:\"Manuka\",        emoji:\"\ud83c\udf3c\", base:100,         cat:\"Exotic Seed Pack\",   minKg:0.289 },\n  { name:\"Monoblooma\",    emoji:\"\ud83c\udf38\", base:150,         cat:\"Exotic Seed Pack\",   minKg:0.477 },\n  { name:\"Stonebite\",     emoji:\"\ud83e\udea8\", base:300,         cat:\"Exotic Seed Pack\",   minKg:0.94  },\n  { name:\"Wildcarrot\",    emoji:\"\ud83e\udd55\", base:100,         cat:\"Exotic Seed Pack\",   minKg:0.286 },\n  { name:\"Cocovine\",      emoji:\"\ud83e\udd65\", base:5000,        cat:\"Exotic Seed Pack\",   minKg:13.3  },\n\n  \/\/ Easter Event\n  { name:\"Easter Egg\",    emoji:\"\ud83e\udd5a\", base:1000,        cat:\"Easter Event\",       minKg:2.85  },\n  { name:\"Choc Carrot\",   emoji:\"\ud83c\udf6b\", base:100,         cat:\"Easter Event\",       minKg:0.26  },\n  { name:\"Candyblossom\",  emoji:\"\ud83c\udf6d\", base:1000,        cat:\"Easter Event\",       minKg:2.85  },\n  { name:\"Candy Sunflower\",emoji:\"\ud83c\udf3b\",base:500,         cat:\"Easter Event\",       minKg:1.428 },\n  { name:\"Boneblossom\",   emoji:\"\ud83d\udc80\", base:1000,        cat:\"Easter Event\",       minKg:2.85  },\n  { name:\"Mapleapple\",    emoji:\"\ud83c\udf4e\", base:1000,        cat:\"Easter Event\",       minKg:2.85  },\n\n  \/\/ Night Event\n  { name:\"Moonblossom\",   emoji:\"\ud83c\udf19\", base:1000,        cat:\"Night Event\",        minKg:2.85  },\n  { name:\"Moonmango\",     emoji:\"\ud83e\udd6d\", base:5000,        cat:\"Night Event\",        minKg:14.25 },\n  { name:\"Moonmelon\",     emoji:\"\ud83c\udf49\", base:2500,        cat:\"Night Event\",        minKg:7.6   },\n  { name:\"Moonglow\",      emoji:\"\ud83c\udf1f\", base:2500,        cat:\"Night Event\",        minKg:6.65  },\n  { name:\"Blood Banana\",  emoji:\"\ud83c\udf4c\", base:500,         cat:\"Night Event\",        minKg:1.42  },\n  { name:\"Nightshade\",    emoji:\"\ud83e\uded0\", base:150,         cat:\"Night Event\",        minKg:0.48  },\n  { name:\"Celestiberry\",  emoji:\"\u2b50\", base:600,         cat:\"Night Event\",        minKg:1.9   },\n\n  \/\/ Bee Event\n  { name:\"Hive\",          emoji:\"\ud83c\udf6f\", base:2500,        cat:\"Bee Event\",          minKg:7.59  },\n  { name:\"Honeysuckle\",   emoji:\"\ud83c\udf38\", base:4000,        cat:\"Bee Event\",          minKg:11.4  },\n  { name:\"Beebalm\",       emoji:\"\ud83d\udc1d\", base:300,         cat:\"Bee Event\",          minKg:0.94  },\n  { name:\"Elderflower\",   emoji:\"\ud83c\udf38\", base:2000,        cat:\"Bee Event\",          minKg:5.37  },\n\n  \/\/ Summer Event\n  { name:\"Watermelon\",    emoji:\"\ud83c\udf49\", base:2500,        cat:\"Summer Event\",       minKg:7.3   },\n  { name:\"Sunflower\",     emoji:\"\ud83c\udf3b\", base:6000,        cat:\"Summer Event\",       minKg:15.65 },\n  { name:\"Parasolflower\", emoji:\"\ud83c\udf02\", base:2000,        cat:\"Summer Event\",       minKg:5.7   },\n  { name:\"Liberty Lily\",  emoji:\"\ud83c\udf3a\", base:2200,        cat:\"Summer Event\",       minKg:6.176 },\n  { name:\"Firework Flower\",emoji:\"\ud83c\udf86\",base:7000,        cat:\"Summer Event\",       minKg:19.0  },\n  { name:\"Coconut\",       emoji:\"\ud83e\udd65\", base:5000,        cat:\"Summer Event\",       minKg:13.31 },\n\n  \/\/ Prehistoric Event\n  { name:\"Amberspine\",    emoji:\"\ud83e\udd95\", base:2000,        cat:\"Prehistoric Event\",  minKg:5.7   },\n  { name:\"Fossilight\",    emoji:\"\ud83d\udca1\", base:1250,        cat:\"Prehistoric Event\",  minKg:3.79  },\n  { name:\"Horned Dino Shroom\",emoji:\"\ud83e\udd96\",base:1750,    cat:\"Prehistoric Event\",  minKg:4.94  },\n  { name:\"Horsetail\",     emoji:\"\ud83c\udf3f\", base:1000,        cat:\"Prehistoric Event\",  minKg:2.85  },\n  { name:\"Giant Pinecone\",emoji:\"\ud83c\udf32\", base:1800,        cat:\"Prehistoric Event\",  minKg:5.14  },\n  { name:\"Soulfruit\",     emoji:\"\ud83d\udc80\", base:9000,        cat:\"Prehistoric Event\",  minKg:23.75 },\n  { name:\"Cursedfruit\",   emoji:\"\ud83d\ude08\", base:9000,        cat:\"Prehistoric Event\",  minKg:22.9  },\n\n  \/\/ Zen Update\n  { name:\"Zenflare\",      emoji:\"\ud83e\uddd8\", base:500,         cat:\"Zen Update\",         minKg:1.34  },\n  { name:\"Zenrocks\",      emoji:\"\ud83e\udea8\", base:6000,        cat:\"Zen Update\",         minKg:17.1  },\n  { name:\"Dezen\",         emoji:\"\ud83e\uddff\", base:600,         cat:\"Zen Update\",         minKg:1.9   },\n  { name:\"Tranquilbloom\", emoji:\"\ud83c\udf38\", base:1250,        cat:\"Zen Update\",         minKg:3.79  },\n  { name:\"Luckybamboo\",   emoji:\"\ud83c\udf8b\", base:1500,        cat:\"Zen Update\",         minKg:4.75  },\n  { name:\"Enkaku\",        emoji:\"\ud83d\udd2e\", base:1500,        cat:\"Zen Update\",         minKg:4.75  },\n  { name:\"Hinomai\",       emoji:\"\ud83d\udd25\", base:3000,        cat:\"Zen Update\",         minKg:9.5   },\n  { name:\"Lotus\",         emoji:\"\ud83e\udeb7\", base:7000,        cat:\"Zen Update\",         minKg:18.99 },\n  { name:\"Elephantears\",  emoji:\"\ud83c\udf3f\", base:6000,        cat:\"Zen Update\",         minKg:17.1  },\n  { name:\"Taroflower\",    emoji:\"\ud83c\udf3a\", base:2500,        cat:\"Zen Update\",         minKg:6.64  },\n\n  \/\/ Normal Seed Pack\n  { name:\"Blueberry\",     emoji:\"\ud83e\uded0\", base:150,         cat:\"Normal Seed Pack\",   minKg:0.17  },\n  { name:\"Rose\",          emoji:\"\ud83c\udf39\", base:300,         cat:\"Normal Seed Pack\",   minKg:0.95  },\n  { name:\"Tulip\",         emoji:\"\ud83c\udf37\", base:100,         cat:\"Normal Seed Pack\",   minKg:0.05  },\n  { name:\"Green Apple\",   emoji:\"\ud83c\udf4f\", base:1000,        cat:\"Normal Seed Pack\",   minKg:2.85  },\n  { name:\"Grape\",         emoji:\"\ud83c\udf47\", base:1000,        cat:\"Normal Seed Pack\",   minKg:2.85  },\n];\n\n\/\/ Deduplicate by name+cat\nconst seen = new Set();\nconst PLANT_LIST = PLANTS.filter(p => {\n  const key = p.name + p.cat;\n  if (seen.has(key)) return false;\n  seen.add(key);\n  return true;\n});\n\nconst MUTATIONS = {\n  temperature: [\n    { id:\"wet\",      label:\"Wet\",      mult:2,   cls:\"temp\" },\n    { id:\"chilled\",  label:\"Chilled\",  mult:2,   cls:\"temp\" },\n    { id:\"drenched\", label:\"Drenched\", mult:5,   cls:\"temp\" },\n    { id:\"frozen\",   label:\"Frozen\",   mult:10,  cls:\"temp\" },\n  ],\n  special: [\n    { id:\"normal\",   label:\"Normal\",   mult:1,   cls:\"special\" },\n    { id:\"gold\",     label:\"Gold\",     mult:20,  cls:\"special\" },\n    { id:\"rainbow\",  label:\"Rainbow\",  mult:50,  cls:\"special\" },\n  ],\n  other: [\n    { id:\"shocked\",     label:\"Shocked\",     mult:100, cls:\"other mythic\"    },\n    { id:\"choc\",        label:\"Choc\",        mult:2,   cls:\"other\"           },\n    { id:\"moonlit\",     label:\"Moonlit\",     mult:2,   cls:\"other\"           },\n    { id:\"bloodlit\",    label:\"Bloodlit\",    mult:4,   cls:\"other\"           },\n    { id:\"windstruck\",  label:\"Windstruck\",  mult:2,   cls:\"other\"           },\n    { id:\"pollinated\",  label:\"Pollinated\",  mult:3,   cls:\"other\"           },\n    { id:\"sandy\",       label:\"Sandy\",       mult:3,   cls:\"other\"           },\n    { id:\"verdant\",     label:\"Verdant\",     mult:4,   cls:\"other\"           },\n    { id:\"burnt\",       label:\"Burnt\",       mult:4,   cls:\"other\"           },\n    { id:\"plasma\",      label:\"Plasma\",      mult:5,   cls:\"other rare\"      },\n    { id:\"honeyglazed\", label:\"Honey Glazed\",mult:5,   cls:\"other rare\"      },\n    { id:\"cloudtouched\",label:\"Cloud Touched\",mult:5,  cls:\"other rare\"      },\n    { id:\"twisted\",     label:\"Twisted\",     mult:5,   cls:\"other rare\"      },\n    { id:\"clay\",        label:\"Clay\",        mult:5,   cls:\"other rare\"      },\n    { id:\"heavenly\",    label:\"Heavenly\",    mult:5,   cls:\"other rare\"      },\n    { id:\"cooked\",      label:\"Cooked\",      mult:10,  cls:\"other rare\"      },\n    { id:\"amber\",       label:\"Amber\",       mult:10,  cls:\"other rare\"      },\n    { id:\"fried\",       label:\"Fried\",       mult:8,   cls:\"other\"           },\n    { id:\"static\",      label:\"Static\",      mult:8,   cls:\"other\"           },\n    { id:\"tempestous\",  label:\"Tempestuous\", mult:12,  cls:\"other rare\"      },\n    { id:\"toxic\",       label:\"Toxic\",       mult:12,  cls:\"other rare\"      },\n    { id:\"jackpot\",     label:\"Jackpot\",     mult:15,  cls:\"other rare\"      },\n    { id:\"chakra\",      label:\"Chakra\",      mult:15,  cls:\"other rare\"      },\n    { id:\"oldamber\",    label:\"Old Amber\",   mult:20,  cls:\"other epic\"      },\n    { id:\"corrupt\",     label:\"Corrupt\",     mult:20,  cls:\"other epic\"      },\n    { id:\"tranquil\",    label:\"Tranquil\",    mult:20,  cls:\"other epic\"      },\n    { id:\"molten\",      label:\"Molten\",      mult:25,  cls:\"other epic\"      },\n    { id:\"zombified\",   label:\"Zombified\",   mult:25,  cls:\"other epic\"      },\n    { id:\"ceramic\",     label:\"Ceramic\",     mult:30,  cls:\"other epic\"      },\n    { id:\"harmonised\",  label:\"Harmonised Chakra\", mult:35, cls:\"other epic\" },\n    { id:\"subzero\",     label:\"Subzero\",     mult:40,  cls:\"other epic\"      },\n    { id:\"ancientamber\",label:\"Ancient Amber\",mult:50, cls:\"other legendary\" },\n    { id:\"blitzshock\",  label:\"Blitz Shock\", mult:50,  cls:\"other legendary\" },\n    { id:\"meteoric\",    label:\"Meteoric\",    mult:125, cls:\"other mythic\"    },\n    { id:\"friendbound\", label:\"Friendbound\", mult:70,  cls:\"other legendary\" },\n    { id:\"infected\",    label:\"Infected\",    mult:75,  cls:\"other legendary\" },\n    { id:\"radioactive\", label:\"Radioactive\", mult:80,  cls:\"other legendary\" },\n    { id:\"sundried\",    label:\"Sundried\",    mult:85,  cls:\"other legendary\" },\n    { id:\"aurora\",      label:\"Aurora\",      mult:90,  cls:\"other legendary\" },\n    { id:\"foxfire\",     label:\"Foxfire\",     mult:90,  cls:\"other legendary\" },\n    { id:\"alienlike\",   label:\"Alien-Like\",  mult:100, cls:\"other mythic\"    },\n    { id:\"paradisal\",   label:\"Paradisal\",   mult:100, cls:\"other mythic\"    },\n    { id:\"touchdown\",   label:\"Touchdown\",   mult:105, cls:\"other mythic\"    },\n    { id:\"galactic\",    label:\"Galactic\",    mult:120, cls:\"other mythic\"    },\n    { id:\"celestial\",   label:\"Celestial\",   mult:120, cls:\"other mythic\"    },\n    { id:\"disco\",       label:\"Disco\",       mult:125, cls:\"other mythic\"    },\n    { id:\"voidtouched\", label:\"Void Touched\",mult:135, cls:\"other mythic\"    },\n    { id:\"harmonisedfox\",label:\"Harmonised Foxfire\",mult:190,cls:\"other mythic\"},\n    { id:\"dawnbound\",   label:\"Dawnbound\",   mult:150, cls:\"other mythic\"    },\n  ]\n};\n\nconst FRIEND_MULTS = [1.0, 1.1, 1.2, 1.3, 1.4, 1.5];\n\n\/\/ ============================================================\n\/\/ STATE\n\/\/ ============================================================\nlet state = {\n  plant: null,\n  temp: null,\n  special: \"normal\",\n  others: new Set(),\n  weight: 0,\n  friend: 1.0,\n  qty: 1,\n  activeCategory: \"All\"\n};\n\n\/\/ ============================================================\n\/\/ INIT\n\/\/ ============================================================\nfunction init() {\n  buildCategories();\n  buildPlantGrid(\"All\");\n  buildMutations();\n  buildFriendBtns();\n  updateResult();\n}\n\nfunction buildCategories() {\n  const cats = [\"All\", ...new Set(PLANT_LIST.map(p => p.cat))];\n  const wrap = document.getElementById(\"catBtns\");\n  cats.forEach(c => {\n    const btn = document.createElement(\"button\");\n    btn.className = \"gag-cat-btn\" + (c === \"All\" ? \" active\" : \"\");\n    btn.textContent = c;\n    btn.onclick = () => setCategory(c);\n    wrap.appendChild(btn);\n  });\n}\n\nfunction setCategory(cat) {\n  state.activeCategory = cat;\n  document.querySelectorAll(\".gag-cat-btn\").forEach(b => {\n    b.classList.toggle(\"active\", b.textContent === cat);\n  });\n  buildPlantGrid(cat);\n}\n\nfunction buildPlantGrid(cat) {\n  const search = document.getElementById(\"plantSearch\").value.toLowerCase();\n  const grid = document.getElementById(\"plantGrid\");\n  const noRes = document.getElementById(\"noResults\");\n  grid.innerHTML = \"\";\n\n  const filtered = PLANT_LIST.filter(p => {\n    const catMatch = cat === \"All\" || p.cat === cat;\n    const searchMatch = !search || p.name.toLowerCase().includes(search);\n    return catMatch && searchMatch;\n  });\n\n  if (filtered.length === 0) {\n    noRes.style.display = \"block\";\n    return;\n  }\n  noRes.style.display = \"none\";\n\n  filtered.forEach(p => {\n    const card = document.createElement(\"div\");\n    card.className = \"plant-card\" + (state.plant && state.plant.name === p.name && state.plant.cat === p.cat ? \" selected\" : \"\");\n    card.innerHTML = `\n      <div class=\"plant-emoji\">${p.emoji}<\/div>\n      <div class=\"plant-name\">${p.name}<\/div>\n      <div class=\"plant-base\">${formatNum(p.base)}<\/div>\n    `;\n    card.onclick = () => selectPlant(p);\n    grid.appendChild(card);\n  });\n}\n\nfunction filterPlants() {\n  buildPlantGrid(state.activeCategory);\n}\n\nfunction selectPlant(p) {\n  state.plant = p;\n  \/\/ Set default weight to minKg\n  state.weight = p.minKg;\n  document.getElementById(\"weightInput\").value = p.minKg;\n  document.getElementById(\"weightHint\").textContent = `Min: ${p.minKg} kg`;\n\n  \/\/ Update selected display\n  document.getElementById(\"selEmoji\").textContent = p.emoji;\n  document.getElementById(\"selName\").textContent = p.name;\n  document.getElementById(\"selBase\").textContent = `Base: ${formatNum(p.base)} Sheckles \u00b7 Min: ${p.minKg} kg \u00b7 ${p.cat}`;\n  document.getElementById(\"selectedDisplay\").classList.add(\"visible\");\n\n  buildPlantGrid(state.activeCategory);\n  calculate();\n}\n\nfunction clearPlant() {\n  state.plant = null;\n  state.weight = 0;\n  document.getElementById(\"weightInput\").value = \"\";\n  document.getElementById(\"weightHint\").textContent = \"Select a plant first\";\n  document.getElementById(\"selectedDisplay\").classList.remove(\"visible\");\n  buildPlantGrid(state.activeCategory);\n  calculate();\n}\n\nfunction buildMutations() {\n  \/\/ Temperature\n  const tempWrap = document.getElementById(\"tempMuts\");\n  MUTATIONS.temperature.forEach(m => {\n    tempWrap.appendChild(makeMutBtn(m, \"temp\", () => {\n      state.temp = state.temp === m.id ? null : m.id;\n      refreshMutBtns(\"temp\", state.temp);\n      calculate();\n    }));\n  });\n\n  \/\/ Special\n  const specWrap = document.getElementById(\"specMuts\");\n  MUTATIONS.special.forEach(m => {\n    const btn = makeMutBtn(m, \"special\", () => {\n      state.special = m.id;\n      refreshMutBtns(\"special\", state.special);\n      calculate();\n    });\n    if (m.id === \"normal\") btn.classList.add(\"active\");\n    specWrap.appendChild(btn);\n  });\n\n  \/\/ Other\n  const otherWrap = document.getElementById(\"otherMuts\");\n  MUTATIONS.other.forEach(m => {\n    otherWrap.appendChild(makeMutBtn(m, \"other\", () => {\n      if (state.others.has(m.id)) state.others.delete(m.id);\n      else state.others.add(m.id);\n      refreshMutBtns(\"other\", null);\n      calculate();\n    }));\n  });\n}\n\nfunction makeMutBtn(m, group, handler) {\n  const btn = document.createElement(\"button\");\n  btn.className = `mut-btn ${m.cls}`;\n  btn.dataset.id = m.id;\n  btn.dataset.group = group;\n  btn.innerHTML = `${m.label} <span class=\"mult\">${m.mult}\u00d7<\/span>`;\n  btn.onclick = handler;\n  return btn;\n}\n\nfunction refreshMutBtns(group, activeId) {\n  document.querySelectorAll(`.mut-btn[data-group=\"${group}\"]`).forEach(btn => {\n    if (group === \"other\") {\n      btn.classList.toggle(\"active\", state.others.has(btn.dataset.id));\n    } else {\n      btn.classList.toggle(\"active\", btn.dataset.id === activeId);\n    }\n  });\n}\n\nfunction buildFriendBtns() {\n  const wrap = document.getElementById(\"friendBtns\");\n  FRIEND_MULTS.forEach(f => {\n    const btn = document.createElement(\"button\");\n    btn.className = \"friend-btn\" + (f === 1.0 ? \" active\" : \"\");\n    btn.textContent = f.toFixed(1) + \"\u00d7\";\n    btn.onclick = () => {\n      state.friend = f;\n      document.querySelectorAll(\".friend-btn\").forEach(b => b.classList.remove(\"active\"));\n      btn.classList.add(\"active\");\n      calculate();\n    };\n    wrap.appendChild(btn);\n  });\n}\n\n\/\/ ============================================================\n\/\/ WEIGHT EVENTS\n\/\/ ============================================================\ndocument.getElementById(\"weightInput\").addEventListener(\"input\", function() {\n  state.weight = parseFloat(this.value) || 0;\n  calculate();\n});\n\n\/\/ ============================================================\n\/\/ QUANTITY\n\/\/ ============================================================\nfunction changeQty(delta) {\n  state.qty = Math.max(1, state.qty + delta);\n  document.getElementById(\"qtyDisplay\").textContent = state.qty;\n  calculate();\n}\nfunction setQty(n) {\n  state.qty = n;\n  document.getElementById(\"qtyDisplay\").textContent = n >= 1000 ? (n\/1000)+\"K\" : n;\n  calculate();\n}\n\n\/\/ ============================================================\n\/\/ CALCULATION\n\/\/ Core formula (based on community research):\n\/\/ value = baseValue \u00d7 (weight \/ minKg) \u00d7 mutationMultiplier \u00d7 friendBonus \u00d7 quantity\n\/\/ ============================================================\nfunction calculate() {\n  const resultVal = document.getElementById(\"resultValue\");\n  const noPlantMsg = document.getElementById(\"noPlantMsg\");\n  const breakdown = document.getElementById(\"breakdown\");\n  const mutSummary = document.getElementById(\"mutSummary\");\n\n  if (!state.plant) {\n    resultVal.textContent = \"\u2014\";\n    noPlantMsg.style.display = \"block\";\n    breakdown.style.display = \"none\";\n    mutSummary.innerHTML = \"\";\n    return;\n  }\n\n  noPlantMsg.style.display = \"none\";\n  breakdown.style.display = \"grid\";\n\n  \/\/ Weight multiplier\n  const w = state.weight > 0 ? state.weight : state.plant.minKg;\n  const weightMult = w \/ state.plant.minKg;\n\n  \/\/ Mutation multiplier\n  let mutMult = 1;\n  const activeMutLabels = [];\n\n  \/\/ Temperature\n  if (state.temp) {\n    const tm = MUTATIONS.temperature.find(m => m.id === state.temp);\n    if (tm) { mutMult *= tm.mult; activeMutLabels.push(tm.label + \" \" + tm.mult + \"\u00d7\"); }\n  }\n\n  \/\/ Special\n  if (state.special && state.special !== \"normal\") {\n    const sm = MUTATIONS.special.find(m => m.id === state.special);\n    if (sm) { mutMult *= sm.mult; activeMutLabels.push(sm.label + \" \" + sm.mult + \"\u00d7\"); }\n  }\n\n  \/\/ Others\n  state.others.forEach(id => {\n    const om = MUTATIONS.other.find(m => m.id === id);\n    if (om) { mutMult *= om.mult; activeMutLabels.push(om.label + \" \" + om.mult + \"\u00d7\"); }\n  });\n\n  \/\/ Core formula\n  const baseValue = state.plant.base;\n  const weightedValue = baseValue * weightMult;\n  const mutatedValue = weightedValue * mutMult;\n  const friendValue = mutatedValue * state.friend;\n  const totalValue = friendValue * state.qty;\n\n  \/\/ Display\n  resultVal.textContent = formatNum(Math.round(totalValue));\n\n  \/\/ Breakdown\n  document.getElementById(\"bdBase\").textContent = formatNum(baseValue);\n  document.getElementById(\"bdMut\").textContent = formatNum(mutMult) + \"\u00d7\";\n  document.getElementById(\"bdWeight\").textContent = formatNum(Math.round(mutatedValue));\n  document.getElementById(\"bdFriend\").textContent = state.friend.toFixed(1) + \"\u00d7\";\n  document.getElementById(\"bdQty\").textContent = \"\u00d7\" + state.qty;\n  document.getElementById(\"bdPer\").textContent = formatNum(Math.round(friendValue));\n\n  \/\/ Mutation tags\n  mutSummary.innerHTML = activeMutLabels.map(l => `<span class=\"mut-tag\">${l}<\/span>`).join(\"\");\n}\n\n\/\/ ============================================================\n\/\/ RESET\n\/\/ ============================================================\nfunction resetAll() {\n  state = { plant: null, temp: null, special: \"normal\", others: new Set(), weight: 0, friend: 1.0, qty: 1, activeCategory: state.activeCategory };\n  document.getElementById(\"weightInput\").value = \"\";\n  document.getElementById(\"weightHint\").textContent = \"Select a plant first\";\n  document.getElementById(\"selectedDisplay\").classList.remove(\"visible\");\n  document.getElementById(\"qtyDisplay\").textContent = \"1\";\n\n  \/\/ Reset mutation buttons\n  document.querySelectorAll(\".mut-btn\").forEach(b => b.classList.remove(\"active\"));\n  document.querySelectorAll(\".mut-btn[data-id='normal']\").forEach(b => b.classList.add(\"active\"));\n\n  \/\/ Reset friend btns\n  document.querySelectorAll(\".friend-btn\").forEach((b, i) => b.classList.toggle(\"active\", i === 0));\n\n  buildPlantGrid(state.activeCategory);\n  updateResult();\n}\n\nfunction updateResult() {\n  document.getElementById(\"resultValue\").textContent = \"\u2014\";\n  document.getElementById(\"noPlantMsg\").style.display = \"block\";\n  document.getElementById(\"breakdown\").style.display = \"none\";\n  document.getElementById(\"mutSummary\").innerHTML = \"\";\n}\n\n\/\/ ============================================================\n\/\/ UTILS\n\/\/ ============================================================\nfunction formatNum(n) {\n  if (n >= 1e9)  return (n\/1e9).toFixed(2) + \"B\";\n  if (n >= 1e6)  return (n\/1e6).toFixed(2) + \"M\";\n  if (n >= 1e3)  return (n\/1e3).toFixed(1) + \"K\";\n  return n.toLocaleString();\n}\n\n\/\/ ============================================================\n\/\/ RUN\n\/\/ ============================================================\ninit();\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Grow a Garden Calculator \ud83c\udf3f Grow a Garden Calculator Calculate plant values with mutations, weight &#038; friend bonus \ud83c\udfae Roblox \u00b7 130+ Plants \u00b7 50+ Mutations \ud83c\udf31 Select Plant \u2715 \ud83d\udd0d No plants found \ud83c\udf35 \ud83e\uddec Mutations &#038; Modifiers \ud83c\udf21\ufe0f Temperature (pick one) \u2728 Special (pick one) \u26a1 Other Mutations (multi-select) \u2699\ufe0f Modifiers \u2696\ufe0f Weight<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-3850","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Grow a Garden Calculator: Real-Time Pet &amp; Trade Values | item<\/title>\n<meta name=\"description\" content=\"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Grow a Garden Calculator: Real-Time Pet &amp; Trade Values | item\" \/>\n<meta property=\"og:description\" content=\"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Itemku\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-06T09:40:47+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/\",\"url\":\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/\",\"name\":\"Grow a Garden Calculator: Real-Time Pet & Trade Values | item\",\"isPartOf\":{\"@id\":\"https:\/\/itemku.com\/en\/blog\/#website\"},\"datePublished\":\"2026-05-06T09:38:12+00:00\",\"dateModified\":\"2026-05-06T09:40:47+00:00\",\"description\":\"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.itemku.com\/en\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Grow A Garden Calculator Roblox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/itemku.com\/en\/blog\/#website\",\"url\":\"https:\/\/itemku.com\/en\/blog\/\",\"name\":\"itemku\",\"description\":\"The complete online gaming news\",\"publisher\":{\"@id\":\"https:\/\/itemku.com\/en\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/itemku.com\/en\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/itemku.com\/en\/blog\/#organization\",\"name\":\"itemku\",\"url\":\"https:\/\/itemku.com\/en\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/itemku.com\/en\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.itemku.com\/en\/blog\/wp-content\/uploads\/2024\/12\/itemku-logo-color-transparent.png\",\"contentUrl\":\"https:\/\/www.itemku.com\/en\/blog\/wp-content\/uploads\/2024\/12\/itemku-logo-color-transparent.png\",\"width\":496,\"height\":160,\"caption\":\"itemku\"},\"image\":{\"@id\":\"https:\/\/itemku.com\/en\/blog\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Grow a Garden Calculator: Real-Time Pet & Trade Values | item","description":"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/","og_locale":"en_US","og_type":"article","og_title":"Grow a Garden Calculator: Real-Time Pet & Trade Values | item","og_description":"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!","og_url":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/","og_site_name":"Blog Itemku","article_modified_time":"2026-05-06T09:40:47+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/","url":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/","name":"Grow a Garden Calculator: Real-Time Pet & Trade Values | item","isPartOf":{"@id":"https:\/\/itemku.com\/en\/blog\/#website"},"datePublished":"2026-05-06T09:38:12+00:00","dateModified":"2026-05-06T09:40:47+00:00","description":"Master the Roblox Grow a Garden market. Use our trade, mutation, and pet calculator to get accurate values for every plant and pet. Trade like a pro!","breadcrumb":{"@id":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.itemku.com\/en\/blog\/grow-a-garden-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itemku.com\/en\/blog\/"},{"@type":"ListItem","position":2,"name":"Grow A Garden Calculator Roblox"}]},{"@type":"WebSite","@id":"https:\/\/itemku.com\/en\/blog\/#website","url":"https:\/\/itemku.com\/en\/blog\/","name":"itemku","description":"The complete online gaming news","publisher":{"@id":"https:\/\/itemku.com\/en\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itemku.com\/en\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/itemku.com\/en\/blog\/#organization","name":"itemku","url":"https:\/\/itemku.com\/en\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itemku.com\/en\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.itemku.com\/en\/blog\/wp-content\/uploads\/2024\/12\/itemku-logo-color-transparent.png","contentUrl":"https:\/\/www.itemku.com\/en\/blog\/wp-content\/uploads\/2024\/12\/itemku-logo-color-transparent.png","width":496,"height":160,"caption":"itemku"},"image":{"@id":"https:\/\/itemku.com\/en\/blog\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/pages\/3850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/comments?post=3850"}],"version-history":[{"count":7,"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/pages\/3850\/revisions"}],"predecessor-version":[{"id":3860,"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/pages\/3850\/revisions\/3860"}],"wp:attachment":[{"href":"https:\/\/www.itemku.com\/en\/blog\/wp-json\/wp\/v2\/media?parent=3850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}