{"id":7890,"date":"2026-05-07T10:31:20","date_gmt":"2026-05-07T03:31:20","guid":{"rendered":"https:\/\/www.itemku.com\/blog\/?p=7890"},"modified":"2026-05-07T11:17:30","modified_gmt":"2026-05-07T04:17:30","slug":"kalkulator-grow-a-garden","status":"publish","type":"post","link":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/","title":{"rendered":"Kalkulator Grow a Garden: Hitung Value Pet &amp; Trade 2026"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7890\" class=\"elementor elementor-7890\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e56923e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e56923e\" 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-11f3328\" data-id=\"11f3328\" 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-340b047 elementor-widget elementor-widget-html\" data-id=\"340b047\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\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>Kalkulator Grow a Garden<\/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: #307fe2;\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:         #ffffff;\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 <span>Kalkulator<\/span> Grow a Garden<\/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>Kalkulator Grow a Garden: Panduan Lengkap Menghitung Value Pet dan Item Trading<\/h1>\n    <\/header>\n\n    <section>\n        <p>Trading di <strong>Grow a Garden<\/strong> itu seru. Tapi juga bikin deg-degan kalau kamu nggak tahu nilai sebenarnya dari pet atau item yang mau ditukar. Pernah nggak sih, selesai trade terus nyesel? Ternyata pet yang kamu lepas nilainya jauh lebih tinggi?<\/p>\n        <p>Situasi kayak gini terlalu sering terjadi. Ribuan pemain Roblox Indonesia mengalami hal serupa setiap hari. Mereka trading tanpa data. Hasilnya? Buntung.<\/p>\n        <p>Kabar baiknya, ada solusi praktis. <strong>Kalkulator Grow a Garden<\/strong> hadir sebagai tool wajib buat setiap trader yang serius. Bukan sekadar angka-angka random, melainkan sistem kalkulasi berbasis data market yang terus di-update sesuai tren komunitas trading.<\/p>\n    <\/section>\n\n    <section>\n        <h2>Apa Itu Kalkulator Grow a Garden dan Mengapa Trader Wajib Punya?<\/h2>\n        <h3>Fungsi Utama GAG Calculator dalam Ekosistem Trading<\/h3>\n        <p><strong>Kalkulator pet Grow a Garden<\/strong> adalah tool digital yang menghitung nilai trading dari setiap pet dan item dalam game. Sistemnya canggih. Tool ini mempertimbangkan <em>community knowledge<\/em>, <em>market trends<\/em>, dan <em>unique item attributes<\/em> untuk memberikan penilaian yang akurat.<\/p>\n        <p>Yang bikin powerful? Kamu bisa membandingkan hingga 12 item sekaligus dalam satu sesi kalkulasi. Masukkan item yang kamu tawarkan di satu sisi. Tambahkan item yang kamu inginkan di sisi lain. Sistem otomatis menghitung total value dan memberikan assessment <strong>Win, Fair, atau Lose<\/strong>.<\/p>\n        <blockquote>\n            Bayangkan mau trade Rainbow Frog dengan Mystic Deer milik orang lain. Tanpa kalkulator, kamu cuma bisa nebak. Dengan kalkulator? Kamu tahu persis siapa yang untung.\n        <\/blockquote>\n\n        <h3>Perbedaan Value Calculator dengan Harga Sheckles In-Game<\/h3>\n        <p>Ini poin krusial. Banyak pemain salah paham soal ini. <strong>Grow a garden trade values<\/strong> yang ditampilkan kalkulator TIDAK sama dengan harga Sheckles di dalam game.<\/p>\n        <p>Alasannya simpel: ekonomi in-game Grow a Garden mengalami inflasi signifikan. Sheckles bukan lagi ukuran reliable untuk menentukan nilai trading sebenarnya. Sistem poin pada kalkulator menggunakan pendekatan berbeda, di mana <strong>Trait value<\/strong>, <strong>demand komunitas<\/strong>, dan <strong>rarity item<\/strong> punya bobot lebih besar.<\/p>\n    <\/section>\n\n    <section>\n        <h2>Cara Menggunakan Kalkulator Pet Grow a Garden<\/h2>\n        <p>Platform seperti TradeKitsune menyediakan interface yang intuitif. Berikut langkah-langkahnya:<\/p>\n        \n        <ol>\n            <li>\n                <strong>Menambahkan Item:<\/strong> Pilih item pada area \"My Items\" dan \"Looking for Items\". Setiap area menampung maksimal 12 item.\n            <\/li>\n            <li>\n                <strong>Mengatur Parameter:<\/strong> Masukkan data <em>Weight<\/em> (KG), <em>Age<\/em> (Umur), dan <em>Growth Mutation<\/em>. Akurasi data di sini sangat krusial.\n            <\/li>\n            <li>\n                <strong>Membaca Hasil W\/F\/L:<\/strong> Sistem akan memberikan penilaian otomatis berdasarkan selisih nilai.\n            <\/li>\n        <\/ol>\n\n        <table border=\"1\">\n            <caption>Assessment Hasil Trading W\/F\/L<\/caption>\n            <thead>\n                <tr>\n                    <th>Assessment<\/th>\n                    <th>Arti<\/th>\n                    <th>Aksi yang Disarankan<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr>\n                    <td><strong>W (Win)<\/strong><\/td>\n                    <td>Mendapat lebih dari 5% extra value<\/td>\n                    <td>Trade menguntungkan \u2014 lanjutkan<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>F (Fair)<\/strong><\/td>\n                    <td>Value berada dalam range \u00b15%<\/td>\n                    <td>Trade seimbang \u2014 aman untuk kedua pihak<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>L (Lose)<\/strong><\/td>\n                    <td>Kehilangan lebih dari 5% value<\/td>\n                    <td>Pertimbangkan untuk menolak atau negosiasi ulang<\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n    <\/section>\n\n    <section>\n        <h2>Memahami Kalkulator Weight dan Age<\/h2>\n        <p><strong>Kalkulator kg Grow a Garden<\/strong> memperhitungkan berat sebagai multiplier penting. Namun, untuk crop (buah), poin hanya diberikan jika nilai Sheckles-nya melebihi <strong>1 triliun<\/strong>.<\/p>\n        <p>Sedangkan <strong>Kalkulator umur pet Grow a Garden<\/strong> digunakan karena umur berkorelasi dengan <em>progress leveling<\/em>. Pet \"tua\" yang levelnya maksimal memiliki nilai premium di pasar trading.<\/p>\n    <\/section>\n\n    <section>\n        <h2>Daftar Top Value Pets Grow a Garden 2026<\/h2>\n        <p>Berikut adalah <strong>grow a garden values list 2026<\/strong> berdasarkan data market terkini:<\/p>\n\n        <h3>Pet Tier Tertinggi<\/h3>\n        <table border=\"1\">\n            <thead>\n                <tr>\n                    <th>Pet Name<\/th>\n                    <th>Tier<\/th>\n                    <th>Value<\/th>\n                    <th>Rarity<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr>\n                    <td>Divine Rainbow Elephant<\/td>\n                    <td>Divine<\/td>\n                    <td>6.95B<\/td>\n                    <td>Extremely Rare<\/td>\n                <\/tr>\n                <tr>\n                    <td>Prismatic Giant Scorpion<\/td>\n                    <td>Prismatic<\/td>\n                    <td>3.30B<\/td>\n                    <td>Stabil<\/td>\n                <\/tr>\n                <tr>\n                    <td>Mythical Rainbow Dilophosaurus<\/td>\n                    <td>Mythical<\/td>\n                    <td>2.03B<\/td>\n                    <td>Top Mythical<\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n    <\/section>\n\n    <section>\n        <h2>Tips Trading Grow a Garden Roblox Indonesia<\/h2>\n        <ul>\n            <li><strong>Bergabung dengan Komunitas:<\/strong> Cari grup di Discord atau Telegram untuk update harga real-time.<\/li>\n            <li><strong>Gunakan Value List:<\/strong> Selalu kroscek hasil kalkulator dengan diskusi di channel Discord.<\/li>\n            <li><strong>Cek Redeem Code:<\/strong> Jangan lewatkan daily codes untuk menambah modal inventory trading kamu.<\/li>\n        <\/ul>\n    <\/section>\n\n    <section>\n        <h2>FAQ Seputar Kalkulator Grow a Garden<\/h2>\n        <dl>\n            <dt><strong>Apakah kalkulator ini gratis?<\/strong><\/dt>\n            <dd>Ya, sebagian besar tool seperti TradeKitsune tersedia secara gratis.<\/dd>\n            \n            <dt><strong>Seberapa akurat hasil kalkulasi?<\/strong><\/dt>\n            <dd>Sangat akurat untuk kondisi market umum, namun negosiasi personal tetap berpengaruh.<\/dd>\n\n            <dt><strong>Apa bedanya overpay dan underpay?<\/strong><\/dt>\n            <dd>Overpay berarti kamu membayar lebih mahal dari nilai pasar, underpay berarti kamu membayar lebih murah.<\/dd>\n        <\/dl>\n    <\/section>\n\n    <footer>\n        <h2>Kesimpulan: Trading Smart dengan Data<\/h2>\n        <p><strong>Kalkulator Grow a Garden<\/strong> adalah tool yang mengubah cara kamu trading dari sekadar tebak-tebakan menjadi keputusan berbasis data. Mulai kalkulasi sekarang dan pastikan inventory-mu makin berkembang!<\/p>\n        <p><em>Happy trading, dan semoga beruntung!<\/em><\/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\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>Kalkulator Grow a Garden \ud83c\udf3f Kalkulator Grow a Garden 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":2,"featured_media":7897,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_yoast_wpseo_focuskw":"kalkulator grow a garden","_yoast_wpseo_title":"Kalkulator Grow a Garden: Hitung Value Pet & Trade 2026","_yoast_wpseo_metadesc":"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.","footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-7890","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-roblox"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kalkulator Grow a Garden: Hitung Value Pet &amp; Trade 2026<\/title>\n<meta name=\"description\" content=\"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.\" \/>\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\/blog\/roblox\/kalkulator-grow-a-garden\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kalkulator Grow a Garden: Hitung Value Pet &amp; Trade 2026\" \/>\n<meta property=\"og:description\" content=\"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/\" \/>\n<meta property=\"og:site_name\" content=\"Itemku\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-07T03:31:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T04:17:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"899\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dwi Ernanda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dwi Ernanda\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/\",\"url\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/\",\"name\":\"Kalkulator Grow a Garden: Hitung Value Pet & Trade 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.itemku.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg\",\"datePublished\":\"2026-05-07T03:31:20+00:00\",\"dateModified\":\"2026-05-07T04:17:30+00:00\",\"author\":{\"@id\":\"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/9575791ef1cde022ed124d691b53cfc9\"},\"description\":\"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage\",\"url\":\"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg\",\"contentUrl\":\"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg\",\"width\":1600,\"height\":899,\"caption\":\"kalkulator grow a garden\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.itemku.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Roblox\",\"item\":\"https:\/\/www.itemku.com\/blog\/roblox\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Kalkulator Grow a Garden: Hitung Value Pet &amp; Trade 2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.itemku.com\/blog\/#website\",\"url\":\"https:\/\/www.itemku.com\/blog\/\",\"name\":\"Itemku\",\"description\":\"Marketplace Game Key, Item, Akun, Gift Card | Aman &amp; Terpercaya\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.itemku.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/9575791ef1cde022ed124d691b53cfc9\",\"name\":\"Dwi Ernanda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/04942b2b209c9ae14a02de9b0fe39848769858ad905364503a659126d5d67b06?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/04942b2b209c9ae14a02de9b0fe39848769858ad905364503a659126d5d67b06?s=96&d=mm&r=g\",\"caption\":\"Dwi Ernanda\"},\"description\":\"SEO Content Specialist yang berfokus pada industri video game. Memadukan strategi optimasi mesin pencari dengan pemahaman mendalam sebagai pemain Fortnite dan pengamat meta Mobile Legends. Dwi berkomitmen menghadirkan konten yang akurat, relevan, dan mampu menjembatani aspek teknis permainan dengan kebutuhan komunitas gamer secara presisi.\",\"url\":\"https:\/\/www.itemku.com\/blog\/author\/dwi-ernanda\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kalkulator Grow a Garden: Hitung Value Pet & Trade 2026","description":"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.","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\/blog\/roblox\/kalkulator-grow-a-garden\/","og_locale":"en_US","og_type":"article","og_title":"Kalkulator Grow a Garden: Hitung Value Pet & Trade 2026","og_description":"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.","og_url":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/","og_site_name":"Itemku","article_published_time":"2026-05-07T03:31:20+00:00","article_modified_time":"2026-05-07T04:17:30+00:00","og_image":[{"width":1600,"height":899,"url":"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg","type":"image\/jpeg"}],"author":"Dwi Ernanda","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dwi Ernanda","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/","url":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/","name":"Kalkulator Grow a Garden: Hitung Value Pet & Trade 2026","isPartOf":{"@id":"https:\/\/www.itemku.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage"},"image":{"@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage"},"thumbnailUrl":"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg","datePublished":"2026-05-07T03:31:20+00:00","dateModified":"2026-05-07T04:17:30+00:00","author":{"@id":"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/9575791ef1cde022ed124d691b53cfc9"},"description":"Panduan lengkap kalkulator Grow a Garden untuk menghitung value pet, weight, age, dan mutasi. Pelajari sistem W\/F\/L dan tips trading Roblox Indonesia.","breadcrumb":{"@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#primaryimage","url":"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg","contentUrl":"https:\/\/www.itemku.com\/blog\/wp-content\/uploads\/2026\/05\/kalkulator-grow-a-garden.jpg","width":1600,"height":899,"caption":"kalkulator grow a garden"},{"@type":"BreadcrumbList","@id":"https:\/\/www.itemku.com\/blog\/roblox\/kalkulator-grow-a-garden\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itemku.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Roblox","item":"https:\/\/www.itemku.com\/blog\/roblox\/"},{"@type":"ListItem","position":3,"name":"Kalkulator Grow a Garden: Hitung Value Pet &amp; Trade 2026"}]},{"@type":"WebSite","@id":"https:\/\/www.itemku.com\/blog\/#website","url":"https:\/\/www.itemku.com\/blog\/","name":"Itemku","description":"Marketplace Game Key, Item, Akun, Gift Card | Aman &amp; Terpercaya","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itemku.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/9575791ef1cde022ed124d691b53cfc9","name":"Dwi Ernanda","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itemku.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/04942b2b209c9ae14a02de9b0fe39848769858ad905364503a659126d5d67b06?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/04942b2b209c9ae14a02de9b0fe39848769858ad905364503a659126d5d67b06?s=96&d=mm&r=g","caption":"Dwi Ernanda"},"description":"SEO Content Specialist yang berfokus pada industri video game. Memadukan strategi optimasi mesin pencari dengan pemahaman mendalam sebagai pemain Fortnite dan pengamat meta Mobile Legends. Dwi berkomitmen menghadirkan konten yang akurat, relevan, dan mampu menjembatani aspek teknis permainan dengan kebutuhan komunitas gamer secara presisi.","url":"https:\/\/www.itemku.com\/blog\/author\/dwi-ernanda\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/posts\/7890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/comments?post=7890"}],"version-history":[{"count":5,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/posts\/7890\/revisions"}],"predecessor-version":[{"id":7895,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/posts\/7890\/revisions\/7895"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/media\/7897"}],"wp:attachment":[{"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/media?parent=7890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/categories?post=7890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itemku.com\/blog\/wp-json\/wp\/v2\/tags?post=7890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}