{"id":3117,"date":"2025-06-29T07:51:10","date_gmt":"2025-06-29T07:51:10","guid":{"rendered":"https:\/\/hstc.treecare.co.kr\/?post_type=pest&#038;p=3117"},"modified":"2025-06-29T08:29:05","modified_gmt":"2025-06-29T08:29:05","slug":"%ed%96%a5%eb%82%98%eb%ac%b4-%eb%85%b9%eb%b3%91","status":"publish","type":"pest","link":"https:\/\/hstc.treecare.co.kr\/?pest=%ed%96%a5%eb%82%98%eb%ac%b4-%eb%85%b9%eb%b3%91","title":{"rendered":"\ud5a5\ub098\ubb34 \ub179\ubcd1"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"ko\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\ud5a5\ub098\ubb34 \ub179\ubcd1 \ub300\ud654\ud615 \uac00\uc774\ub4dc<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+KR:wght@300;400;500;700&#038;display=swap\" rel=\"stylesheet\">\n    <!-- Chosen Palette: Evergreen Forest & Orange\/Red for rust -->\n    <!-- Application Structure Plan: The SPA for Juniper Rust is structured into five core sections: '\uac1c\uc694' (Overview), '\ubcd1\uc6d0\uade0 \ud615\ud0dc' (Pathogen Morphology), '\ud53c\ud574 \uc99d\uc0c1' (Damage Symptoms), '\uc0dd\ud65c\uc0ac' (Lifecycle), and '\ubc29\uc81c \ubc29\ubc95' (Control Methods). This logical flow supports comprehensive understanding from identification to management. '\ubcd1\uc6d0\uade0 \ud615\ud0dc' and '\ud53c\ud574 \uc99d\uc0c1' sections use interactive elements (buttons) to highlight different pathogen forms\/host symptoms. '\uc0dd\ud65c\uc0ac' includes a detailed flowchart to visualize its complex life cycle involving two hosts. '\ubc29\uc81c \ubc29\ubc95' incorporates a Chart.js visualization to illustrate optimal control timings, primarily focusing on preventative spraying and host separation. -->\n    <!-- Visualization & Content Choices: \n        1. Report Info: Pathogen Morphology (Telial galls\/swellings, Basidiospores, Pycnia, Aecia, Aeciospores) -> Goal: Inform & Identify -> Viz\/Method: Interactive image gallery with buttons for '\uaca8\uc6b8\ud3ec\uc790\ud1f4 (\ud5a5\ub098\ubb34)', '\ub179\ubcd1\uc815\uc790\uae30 (\uc7a5\ubbf8\uacfc)', '\ub179\ud3ec\uc790\ud1f4 (\uc7a5\ubbf8\uacfc)', '\ub2f4\uc790\ud3ec\uc790\/\ub179\ud3ec\uc790' -> Interaction: Clicking buttons updates image and descriptive text for pathogen structures. -> Justification: The distinct forms on each host are crucial for identification. -> Library: Vanilla JS.\n        2. Report Info: Damage Symptoms (On Juniper: Galls, swelling, dieback; On Rosaceous: Leaf spots, defoliation, fruit damage) -> Goal: Inform & Diagnose -> Viz\/Method: Interactive image gallery with buttons for '\ud5a5\ub098\ubb34\ub958 \ud53c\ud574 (\ub3cc\uae30\/\uace0\uc0ac)', '\uc7a5\ubbf8\uacfc \uc78e \ud53c\ud574 (\ubc18\uc810\/\ud138)', '\uc7a5\ubbf8\uacfc \uc5f4\ub9e4 \ud53c\ud574' -> Interaction: Clicking buttons updates image and descriptive text. Clearly shows symptoms on both hosts. -> Justification: Symptoms vary significantly between hosts, requiring clear differentiation. -> Library: Vanilla JS.\n        3. Report Info: Lifecycle (Heteroecious parasite involving Juniper and Rosaceae, complex spore stages, seasonal progression) -> Goal: Organize & Show Change -> Viz\/Method: Detailed HTML\/CSS vertical flowchart -> Interaction: Static visual aid -> Justification: Visualizing the complex two-host life cycle with all spore stages and seasonal progression is essential for understanding and control. -> Library: HTML\/Tailwind.\n        4. Report Info: Control Timing (Preventative spraying on both hosts, host separation) -> Goal: Inform & Guide -> Viz\/Method: Bar Chart -> Interaction: Hover tooltips -> Justification: The chart clearly illustrates the primary periods for chemical intervention on both hosts and emphasizes host separation. -> Library: Chart.js.\n    -->\n    <!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. -->\n    <style>\n        body {\n            font-family: 'Noto Sans KR', sans-serif;\n        }\n        .chart-container {\n            position: relative;\n            width: 100%;\n            max-width: 600px;\n            margin-left: auto;\n            margin-right: auto;\n            height: 300px;\n            max-height: 400px;\n        }\n        @media (min-width: 768px) {\n            .chart-container {\n                height: 350px;\n            }\n        }\n        .nav-btn {\n            transition: all 0.3s ease;\n            border-radius: 0 !important;\n            box-shadow: none !important;\n            border: none !important;\n        }\n        .nav-btn.active {\n            background-color: #065f46 !important; \/* emerald-800 *\/\n            color: #ecfdf5 !important; \/* emerald-50 *\/\n            font-weight: 700;\n        }\n        .content-section {\n            display: none;\n        }\n        .content-section.active {\n            display: block;\n        }\n        .stage-btn, .damage-btn {\n            border-radius: 0 !important;\n            box-shadow: none !important;\n            border: none !important;\n        }\n        .stage-btn.active, .damage-btn.active {\n            background-color: #10b981; \/* emerald-500 *\/\n            color: white;\n            font-weight: 600;\n            transform: scale(1.05);\n        }\n        .nav-btn:focus,\n        .stage-btn:focus,\n        .damage-btn:focus {\n            outline: none !important;\n            box-shadow: none !important;\n            border: none !important;\n        }\n    <\/style>\n<\/head>\n<body class=\"bg-gray-50 text-gray-800\">\n\n    <div class=\"container mx-auto\"> \n        \n        <header class=\"text-center\">\n            <!-- \ubcd1\ud574\ucda9\uba85\uacfc \ud559\uba85 \uc81c\uac70\ub428 -->\n        <\/header>\n\n        <nav class=\"flex justify-between bg-gray-200 mb-8\">\n            <button data-tab=\"overview\" class=\"nav-btn active flex-1 text-center py-2 px-4 text-gray-700 hover:bg-emerald-100\">\uac1c\uc694<\/button>\n            <button data-tab=\"morphology\" class=\"nav-btn flex-1 text-center py-2 px-4 text-gray-700 hover:bg-emerald-100\">\ubcd1\uc6d0\uade0 \ud615\ud0dc<\/button>\n            <button data-tab=\"damage\" class=\"nav-btn flex-1 text-center py-2 px-4 text-gray-700 hover:bg-emerald-100\">\ud53c\ud574 \uc99d\uc0c1<\/button>\n            <button data-tab=\"ecology\" class=\"nav-btn flex-1 text-center py-2 px-4 text-gray-700 hover:bg-emerald-100\">\uc0dd\ud65c\uc0ac<\/button>\n            <button data-tab=\"control\" class=\"nav-btn flex-1 text-center py-2 px-4 text-gray-700 hover:bg-emerald-100\">\ubc29\uc81c \ubc29\ubc95<\/button>\n        <\/nav>\n\n        <main id=\"app-content\" class=\"p-2 md:p-2\">\n            \n            <!-- \uac1c\uc694 Section -->\n            <section id=\"overview\" class=\"content-section active space-y-6\">\n                <div class=\"p-6 bg-white\">\n                    <h2 class=\"text-2xl font-bold text-emerald-800 mb-4\">\ud5a5\ub098\ubb34 \ub179\ubcd1 (<i>Gymnosporangium spp.<\/i>)\uc774\ub780?<\/h2>\n                    <p class=\"text-gray-700 leading-relaxed\">\n                        \ud5a5\ub098\ubb34 \ub179\ubcd1\uc740 <i>Gymnosporangium<\/i> \uc18d(\u5c6c) \uacf0\ud321\uc774\uc5d0 \uc758\ud574 \ubc1c\uc0dd\ud558\ub294 \uc774\uc885\uae30\uc0dd\uc131 \ubcd1\ud574\uc785\ub2c8\ub2e4. \ud5a5\ub098\ubb34\ub958\uc640 \ubc30\ub098\ubb34, \uc0ac\uacfc\ub098\ubb34 \ub4f1 \uc7a5\ubbf8\uacfc \uc218\ubaa9(\uc911\uac04 \uae30\uc8fc)\uc744 \ubc88\uac08\uc544 \uce68\ud574\ud558\uba70 \uc0dd\ud65c\uc0ac\ub97c \uc644\uc131\ud569\ub2c8\ub2e4. \ud5a5\ub098\ubb34\uc5d0\uc11c\ub294 \uc8fc\ub85c \uac00\uc9c0\uc640 \uc904\uae30\uc5d0 \ud639\uc744 \ud615\uc131\ud558\uac70\ub098 \ub3cc\uae30\ub97c \ub9cc\ub4e4\uace0, \uc7a5\ubbf8\uacfc \uc218\ubaa9\uc5d0\uc11c\ub294 \uc78e\uacfc \uacfc\uc2e4\uc5d0 \ubd89\uc740 \ubc18\uc810\uc744 \ud615\uc131\ud558\uc5ec &#8216;\ubd89\uc740\ubcc4\ubb34\ub2ac\ubcd1&#8217; \ub610\ub294 &#8216;\uc801\uc131\ubcd1&#8217;\uc73c\ub85c \ubd88\ub9bd\ub2c8\ub2e4.\n                    <\/p>\n                    <ul class=\"list-disc list-inside text-gray-700 mt-4 space-y-1\">\n                        <li><strong>\uc6d4\ub3d9\ud0dc:<\/strong> \ud5a5\ub098\ubb34\ub958 \uc870\uc9c1 \ub0b4\ubd80\uc758 \uade0\uc0ac \ud615\ud0dc\ub85c \uc6d4\ub3d9. (\uaca8\uc6b8\ud3ec\uc790\ud1f4 \ud615\uc131)<\/li>\n                        <li><strong>\ubc1c\uc0dd \ud69f\uc218:<\/strong> \uc5f0 1\ud68c (\ud5a5\ub098\ubb34\uc5d0\uc11c \uaca8\uc6b8\ud3ec\uc790\uc138\ub300\ub97c, \uc7a5\ubbf8\uacfc\uc5d0\uc11c \ub179\ubcd1\uc815\uc790\uc640 \ub179\ud3ec\uc790\uc138\ub300\ub97c \uac70\uce68)<\/li>\n                    <\/ul>\n                <\/div>\n                <div class=\"p-6 bg-white\">\n                    <h3 class=\"text-xl font-semibold text-emerald-800 mb-3\">\ubd84\ud3ec \ubc0f \uc8fc\uc694 \uae30\uc8fc\uc2dd\ubb3c<\/h3>\n                    <p class=\"text-gray-700 mb-4\">\n                        \ud55c\uad6d, \uc77c\ubcf8, \uc911\uad6d \ub4f1 \uc544\uc2dc\uc544\uc640 \ubd81\ubbf8, \uc720\ub7fd \ub4f1\uc9c0\uc5d0 \ubd84\ud3ec\ud569\ub2c8\ub2e4. <i>Gymnosporangium<\/i> \uc18d\uc5d0\ub294 \uc57d 70\uc5ec \uc885\uc774 \uc54c\ub824\uc838 \uc788\uc73c\uba70, \uc6b0\ub9ac\ub098\ub77c\uc5d0\uc11c\ub294 **<i>G. asiaticum<\/i> (\ubc30\ub098\ubb34, \ubaa8\uacfc\ub098\ubb34 \uae30\uc8fc)**, **<i>G. yamadae<\/i> (\uc0ac\uacfc\ub098\ubb34 \uae30\uc8fc)**, **<i>G. japonicum<\/i> (\uc724\ub178\ub9ac\ub098\ubb34 \uae30\uc8fc)** \ub4f1 3\uc885\uc774 \uc8fc\uc694\ud55c \ud53c\ud574\ub97c \uc90d\ub2c8\ub2e4.\n                    <\/p>\n                    <p class=\"text-gray-700\">\uc8fc\uc694 \uae30\uc8fc\uc2dd\ubb3c\uc740 <strong>\ud5a5\ub098\ubb34\ub958 (\ud5a5\ub098\ubb34, \ub208\ud5a5\ub098\ubb34, \uac00\uc774\uc2a4\uce74\ud5a5\ub098\ubb34, \uc625\ud5a5\ub098\ubb34, \ub178\uac04\uc8fc\ub098\ubb34, \ub69d\ud5a5\ub098\ubb34)<\/strong>\uc774\uba70, \uc911\uac04 \uae30\uc8fc\uc2dd\ubb3c\uc740 **\uc7a5\ubbf8\uacfc \uc218\ubaa9 (\ubc30\ub098\ubb34, \uc0ac\uacfc\ub098\ubb34, \ubaa8\uacfc\ub098\ubb34, \uba85\uc790\uaf43, \uc0b0\uc0ac\ub098\ubb34, \uc0b0\ub2f9\ud654, \uc724\ub178\ub9ac\ub098\ubb34, \ud325\ubc30\ub098\ubb34, \ub3cc\ubc30\ub098\ubb34, \ucf69\ubc30\ub098\ubb34, \ud480\uba85\uc790, \uc544\uadf8\ubc30\ub098\ubb34, \uc57c\uad11\ub098\ubb34)** \ub4f1\uc785\ub2c8\ub2e4.<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- \ubcd1\uc6d0\uade0 \ud615\ud0dc Section -->\n            <section id=\"morphology\" class=\"content-section space-y-6\">\n                <div class=\"p-6 bg-white\">\n                    <h2 class=\"text-2xl font-bold text-emerald-800 mb-4\">\ud5a5\ub098\ubb34 \ub179\ubcd1 \ubcd1\uc6d0\uade0\uc758 \ud615\ud0dc\uc801 \ud2b9\uc9d5<\/h2>\n                    <p class=\"text-gray-700 leading-relaxed mb-6\">\n                        \ud5a5\ub098\ubb34 \ub179\ubcd1\uade0\uc740 \ubcf5\uc7a1\ud55c \uc0dd\ud65c\uc0ac\ub97c \uac00\uc9c0\uba70 \uac01 \uae30\uc8fc\uc5d0\uc11c \ub2e4\uc591\ud55c \ud615\ud0dc\uc758 \ud3ec\uc790\uc640 \uad6c\uc870\ub97c \ud615\uc131\ud569\ub2c8\ub2e4.\n                    <\/p>\n                    <div class=\"flex flex-wrap justify-center gap-2 md:gap-4 mb-6\">\n                        <button data-type=\"telial_gall\" class=\"stage-btn active flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\uaca8\uc6b8\ud3ec\uc790\ud1f4 (\ud5a5\ub098\ubb34)<\/button>\n                        <button data-type=\"spermogonia\" class=\"stage-btn flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\ub179\ubcd1\uc815\uc790\uae30 (\uc7a5\ubbf8\uacfc)<\/button>\n                        <button data-type=\"aecia\" class=\"stage-btn flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\ub179\ud3ec\uc790\ud1f4 (\uc7a5\ubbf8\uacfc)<\/button>\n                        <button data-type=\"spores\" class=\"stage-btn flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\ub2f4\uc790\ud3ec\uc790 \ubc0f \ub179\ud3ec\uc790<\/button>\n                    <\/div>\n                    <div id=\"morphology-content\" class=\"md:flex md:items-center md:space-x-6 p-4\">\n                        <img decoding=\"async\" id=\"morphology-main-image\" src=\"\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1-\uaca8\uc6b8-\ud3ec\uc790\ud1f4.png\" alt=\"\ud5a5\ub098\ubb34 \uaca8\uc6b8\ud3ec\uc790\ud1f4 \uc774\ubbf8\uc9c0\" class=\"w-full md:w-1\/2 mb-4 md:mb-0\">\n                        <div id=\"morphology-text\" class=\"md:w-1\/2\">\n                            <h3 id=\"morphology-title\" class=\"text-xl font-semibold text-emerald-700 mb-2\"><\/h3>\n                            <p id=\"morphology-description\" class=\"text-gray-700\"><\/p>\n                            <p id=\"morphology-size\" class=\"text-sm text-gray-600 mt-2\"><\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- \ud53c\ud574 \uc99d\uc0c1 Section -->\n            <section id=\"damage\" class=\"content-section space-y-6\">\n                <div class=\"p-6 bg-white\">\n                    <h2 class=\"text-2xl font-bold text-emerald-800 mb-4\">\ud5a5\ub098\ubb34 \ub179\ubcd1\uc758 \uc8fc\uc694 \ud53c\ud574 \uc99d\uc0c1<\/h2>\n                    <p class=\"text-gray-700 leading-relaxed mb-6\">\n                        \ud5a5\ub098\ubb34 \ub179\ubcd1\uc740 \uae30\uc8fc\uc5d0 \ub530\ub77c \ub2e4\ub978 \ud615\ud0dc\uc758 \ubcd1\uc9d5\uc744 \ubcf4\uc774\uba70, \uacfc\uc2e4\uc218\uc5d0\ub294 \uacbd\uc81c\uc801 \ud53c\ud574\ub97c, \uc870\uacbd\uc218\uc5d0\ub294 \ubbf8\uad00\uc0c1 \ud53c\ud574\ub97c \uc90d\ub2c8\ub2e4.\n                    <\/p>\n                    <div class=\"flex flex-wrap justify-center gap-2 md:gap-4 mb-6\">\n                        <button data-damage-type=\"juniper_galls\" class=\"damage-btn active flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\ud5a5\ub098\ubb34\ub958 \ud53c\ud574 (\ub3cc\uae30\/\ud639\/\uace0\uc0ac)<\/button>\n                        <button data-damage-type=\"rosaceae_leaf_spots\" class=\"damage-btn flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\uc7a5\ubbf8\uacfc \uc78e \ud53c\ud574 (\ubd89\uc740 \ubc18\uc810\/\ud138)<\/button>\n                        <button data-damage-type=\"rosaceae_fruit_damage\" class=\"damage-btn flex-1 text-sm md:text-base py-2 px-4 bg-gray-200 font-semibold transition-transform duration-200\">\uc7a5\ubbf8\uacfc \uc5f4\ub9e4 \ud53c\ud574 (\uc810\ubb34\ub2ac\/\uc0c1\ud488\uc131 \uc800\ud558)<\/button>\n                    <\/div>\n                    <div id=\"damage-content\" class=\"md:flex md:items-center md:space-x-6 p-4\">\n                        <img decoding=\"async\" id=\"damage-main-image\" src=\"https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Telial_Gall_Swollen.jpg\" alt=\"\ud5a5\ub098\ubb34\ub958 \ud639 \ubaa8\uc591 \uaca8\uc6b8\ud3ec\uc790\ud1f4 \uc774\ubbf8\uc9c0\" class=\"w-full md:w-1\/2 mb-4 md:mb-0\">\n                        <div id=\"damage-text\" class=\"md:w-1\/2\">\n                            <h3 id=\"damage-title\" class=\"text-xl font-semibold text-emerald-700 mb-2\"><\/h3>\n                            <p id=\"damage-description\" class=\"text-gray-700\"><\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- \uc0dd\ud65c\uc0ac Section -->\n            <section id=\"ecology\" class=\"content-section space-y-6\">\n                 <div class=\"p-6 bg-white\">\n                    <h2 class=\"text-2xl font-bold text-emerald-800 mb-4\">\ud5a5\ub098\ubb34 \ub179\ubcd1\uc758 \ubcf5\uc7a1\ud55c \uc0dd\ud65c\uc0ac (\uae30\uc8fc \uad50\ub300)<\/h2>\n                     <p class=\"text-gray-700 leading-relaxed mb-6\">\n                        \ud5a5\ub098\ubb34 \ub179\ubcd1\uade0\uc740 \ud5a5\ub098\ubb34\ub958(1\ucc28 \uae30\uc8fc)\uc640 \uc7a5\ubbf8\uacfc \uc218\ubaa9(\uc911\uac04 \uae30\uc8fc)\uc744 \uc624\uac00\uba70 \uc0dd\ud65c\ud658\uc744 \uc644\uc131\ud558\ub294 \uc774\uc885\uae30\uc0dd\uade0\uc785\ub2c8\ub2e4. \uac01 \uae30\uc8fc\uc5d0\uc11c \uc11c\ub85c \ub2e4\ub978 \ud615\ud0dc\uc758 \ud3ec\uc790\ub97c \ud615\uc131\ud558\uba70 \uc804\ud30c\ub429\ub2c8\ub2e4.\n                    <\/p>\n                     <div class=\"flex flex-col items-center space-y-2\">\n                        <div class=\"w-full max-w-md text-center p-3 bg-blue-100\">\n                            <p class=\"font-semibold\">1. \uc6d4\ub3d9 (\ud5a5\ub098\ubb34\ub958)<\/p><p class=\"text-sm\">\ud5a5\ub098\ubb34\ub958 \uc78e, \uac00\uc9c0, \uc904\uae30 \uc870\uc9c1 \ub0b4 \uade0\uc0ac \ud615\ud0dc\ub85c \uc6d4\ub3d9<\/p>\n                        <\/div>\n                        <div class=\"text-2xl text-gray-400\">\u2193<\/div>\n                        <div class=\"w-full max-w-md text-center p-3 bg-green-100\">\n                            <p class=\"font-semibold\">2. \uaca8\uc6b8\ud3ec\uc790\ud1f4 \ud615\uc131 \ubc0f \ub2f4\uc790\ud3ec\uc790 \ube44\uc0b0 (2~4\uc6d4)<\/p><p class=\"text-sm\">\ud5a5\ub098\ubb34\ub958\uc5d0 \uc9d9\uc740 \uac08\uc0c9 \ub3cc\uae30(\uaca8\uc6b8\ud3ec\uc790\ud1f4) \ud615\uc131. 4\uc6d4 \ube44 \ub9de\uc73c\uba74 \uc624\ub80c\uc9c0\uc0c9 \uc824\ub9ac \ubaa8\uc591\uc73c\ub85c \ubd80\ud480\uc5b4 \ub2f4\uc790\ud3ec\uc790 \ud615\uc131 \ubc0f \uc7a5\ubbf8\uacfc\ub85c \ube44\uc0b0<\/p>\n                        <\/div>\n                        <div class=\"text-2xl text-gray-400\">\u2193<\/div>\n                        <div class=\"w-full max-w-md text-center p-3 bg-yellow-100\">\n                            <p class=\"font-semibold\">3. \uc7a5\ubbf8\uacfc \uc218\ubaa9 \uac10\uc5fc \ubc0f \ub179\ubcd1\uc815\uc790\uae30\/\ub179\ud3ec\uc790\ud1f4 \ud615\uc131 (5~7\uc6d4)<\/p><p class=\"text-sm\">\uc7a5\ubbf8\uacfc \uc78e\/\uc5f4\ub9e4\uc5d0 \ub178\ub780\uc0c9 \ubc18\uc810(\uc911\uc559 \uac80\uc740 \uc810: \ub179\ubcd1\uc815\uc790\uae30) \ud615\uc131. \uc78e \ub4b7\uba74\uc5d0 \ud68c\uc0c9~\ud138 \ubaa8\uc591 \ub179\ud3ec\uc790\ud1f4 \ud615\uc131 \ubc0f \ub179\ud3ec\uc790 \ube44\uc0b0<\/p>\n                        <\/div>\n                         <div class=\"text-2xl text-gray-400\">\u2193<\/div>\n                         <div class=\"w-full max-w-md text-center p-3 bg-orange-100\">\n                            <p class=\"font-semibold\">4. \ub179\ud3ec\uc790 \uc7ac\ube44\uc0b0 \ubc0f \ud5a5\ub098\ubb34\ub958 \uc7ac\uac10\uc5fc (6~7\uc6d4)<\/p><p class=\"text-sm\">\uc7a5\ubbf8\uacfc\uc5d0\uc11c \ud615\uc131\ub41c \ub179\ud3ec\uc790\uac00 \ubc14\ub78c\uc5d0 \ub0a0\ub824 \ub2e4\uc2dc \ud5a5\ub098\ubb34\ub958 \uc78e, \uac00\uc9c0, \uc904\uae30 \uc870\uc9c1 \ub0b4\ubd80\ub85c \uce68\uc785<\/p>\n                        <\/div>\n                        <div class=\"text-2xl text-gray-400\">\u2193<\/div>\n                         <div class=\"w-full max-w-md text-center p-3 bg-red-100\">\n                            <p class=\"font-semibold\">5. \uade0\uc0ac \uc6d4\ub3d9 \ubc0f \uc0dd\ud65c\uc0ac \ubc18\ubcf5 (\uac00\uc744)<\/p><p class=\"text-sm\">\ud5a5\ub098\ubb34\ub958 \uc870\uc9c1 \ub0b4\uc5d0\uc11c \uade0\uc0ac \uc0c1\ud0dc\ub85c \uc6d4\ub3d9\ud558\uba70 \uc774\ub4ec\ud574 \ubd04 \ub2e4\uc2dc \uaca8\uc6b8\ud3ec\uc790\ud1f4 \ud615\uc131<\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <!-- \ubc29\uc81c \ubc29\ubc95 Section -->\n            <section id=\"control\" class=\"content-section space-y-6\">\n                <div class=\"p-6 bg-white\">\n                    <h2 class=\"text-2xl font-bold text-emerald-800 mb-4\">\ud6a8\uacfc\uc801\uc778 \ubc29\uc81c \ubc29\ubc95<\/h2>\n                    <p class=\"text-gray-700 leading-relaxed mb-6\">\n                        \ud5a5\ub098\ubb34 \ub179\ubcd1\uc740 \ub450 \uac00\uc9c0 \uae30\uc8fc \uc2dd\ubb3c\uc744 \uc624\uac00\ub294 \ud2b9\uc131 \ub54c\ubb38\uc5d0 \uc0dd\ud65c\uc0ac\ub97c \ub2e8\uc808\uc2dc\ud0a4\ub294 \uac83\uc774 \uac00\uc7a5 \ud6a8\uacfc\uc801\uc778 \ubc29\uc81c \ubc29\ubc95\uc785\ub2c8\ub2e4.\n                    <\/p>\n                    <div class=\"space-y-4\">\n                        <div class=\"p-4 border border-blue-200 bg-blue-50\">\n                             <h3 class=\"text-xl font-semibold text-blue-800 mb-2\">\u2460 \uacbd\uc885\uc801 \ubc29\uc81c (\uae30\uc8fc \ubd84\ub9ac)<\/h3>\n                             <ul class=\"list-disc list-inside text-gray-700\">\n                                 <li><strong>\uae30\uc8fc \ubd84\ub9ac \uc2dd\uc7ac:<\/strong> \ud5a5\ub098\ubb34\ub958\uc640 \uc7a5\ubbf8\uacfc \uc218\ubaa9(\ubc30\ub098\ubb34, \uc0ac\uacfc\ub098\ubb34, \ubaa8\uacfc\ub098\ubb34 \ub4f1)\uc744 <strong>\uac00\ub2a5\ud55c 2km \uc774\uc0c1 \ub5a8\uc5b4\ub728\ub824 \uc2ec\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/strong> \uc774\ub294 \ub179\ubcd1\uade0\uc774 \uc0dd\ud65c\uc0ac\ub97c \uc644\uc131\ud558\uc9c0 \ubabb\ud558\ub3c4\ub85d \ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \uc608\ubc29\ubc95\uc785\ub2c8\ub2e4.<\/li>\n                                 <li><strong>\uc911\uac04 \uae30\uc8fc \uc81c\uac70:<\/strong> \uc7a3\ub098\ubb34 \ubb18\ud3ec \uc8fc\ubcc0\uc5d0 \ud669\ubcbd\ub098\ubb34, \ucc38\ucde8, \uc465\ubd80\uc7c1\uc774 \ub4f1 \uc911\uac04 \uae30\uc8fc \uc2dd\ubb3c\ub4e4\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4.<\/li>\n                             <\/ul>\n                        <\/div>\n                        <div class=\"p-4 border border-green-200 bg-green-50\">\n                             <h3 class=\"text-xl font-semibold text-green-800 mb-2\">\u2461 \ud654\ud559\uc801 \ubc29\uc81c (\uc608\ubc29\uc801 \uc0b4\ud3ec)<\/h3>\n                             <ul class=\"list-disc list-inside text-gray-700\">\n                                 <li><strong>\ud5a5\ub098\ubb34\ub958 \uc0b4\ud3ec \uc2dc\uae30:<\/strong> \uaca8\uc6b8\ud3ec\uc790\ud1f4 \ud615\uc131\uae30(2~3\uc6d4) \ud6c4 \ub2f4\uc790\ud3ec\uc790 \ube44\uc0b0\uae30\uc778 <strong>4\uc6d4~5\uc6d4<\/strong>\uacfc \ub179\ud3ec\uc790 \uce68\uc785\uae30\uc778 <strong>7\uc6d4<\/strong>\uc5d0 \uc0b4\uade0\uc81c\ub97c \uc0b4\ud3ec\ud569\ub2c8\ub2e4. \ud2b9\ud788 4\uc6d4 \uc911\u00b7\ud558\uc21c\uc5d0 \ube44\uac00 \ub9ce\uc774 \uc624\uba74 \ud3ec\uc790\uac00 \ub9ce\uc544\uc9c0\ubbc0\ub85c \ub0a0\uc528\uac00 \ub9d1\uc544\uc9c0\uba74 \uace7 \uc57d\uc81c\ub97c \uc0b4\ud3ec\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n                                 <li><strong>\uc911\uac04 \uae30\uc8fc(\uc7a5\ubbf8\uacfc) \uc0b4\ud3ec \uc2dc\uae30:<\/strong> \ub179\ubcd1\uc815\uc790 \ubc0f \ub179\ud3ec\uc790 \ud615\uc131\uae30\uc778 <strong>4\uc6d4 \uc911\uc21c\ubd80\ud130 6\uc6d4\uae4c\uc9c0<\/strong> \uc0b4\uade0\uc81c\ub97c \uc0b4\ud3ec\ud569\ub2c8\ub2e4.<\/li>\n                                 <li><strong>\uc57d\uc81c \uc885\ub958 (\uc608\uc2dc):<\/strong> \ud2b8\ub9ac\uc544\ub514\uba54\ud3f0 \uc218\ud654\uc81c 800\ubc30\uc561, \ud398\ub098\ub9ac\ubab0 \uc218\ud654\uc81c 3,300\ubc30\uc561, \ud2f0\ub514\ud3f0 500~750\ubc30\uc561, \ub514\ub2c8\ucf54\ub098\uc878 \uc218\ud654\uc81c 2,000\ubc30\uc561 \ub4f1 \ubd89\uc740\ubcc4\ubb34\ub2ac\ubcd1 \uc801\uc6a9 \uc57d\uc81c\ub97c 10\uc77c \uac04\uaca9\uc73c\ub85c 4~6\ud68c \uc0b4\ud3ec\ud569\ub2c8\ub2e4.<\/li>\n                                 <li><strong>\uc815\ubcf4 \ud655\uc778:<\/strong> \ub18d\uc57d\uc548\uc804\uc815\ubcf4\uc2dc\uc2a4\ud15c(psis.rda.go.kr)\uc5d0\uc11c \ud5a5\ub098\ubb34 \ub179\ubcd1 \ubc0f \ubd89\uc740\ubcc4\ubb34\ub2ac\ubcd1\uc5d0 \ub4f1\ub85d\ub41c \uc57d\uc81c\ub97c \ud655\uc778\ud558\uc5ec \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.<\/li>\n                             <\/ul>\n                        <\/div>\n                        <div class=\"p-4 border border-yellow-200 bg-yellow-50\">\n                            <h3 class=\"text-xl font-semibold text-yellow-800 mb-2\">\u2462 \ubb3c\ub9ac\uc801 \ubc29\uc81c<\/h3>\n                            <ul class=\"list-disc list-inside text-gray-700\">\n                                <li><strong>\ud53c\ud574 \uac00\uc9c0 \uc81c\uac70:<\/strong> \ubcd1\ub4e0 \uac00\uc9c0\ub098 \uc904\uae30\uc5d0 \ud615\uc131\ub41c \uaca8\uc6b8\ud3ec\uc790\ud1f4(\ud639)\uac00 \uc788\uc744 \uacbd\uc6b0, \ud574\ub2f9 \ubd80\uc704\ub97c \uc798\ub77c\ub0b4\uc5b4 \uc18c\uac01\ud569\ub2c8\ub2e4. \ud2b9\ud788 \ub208\ud5a5\ub098\ubb34\uc758 \uacbd\uc6b0 \ud53c\ud574\uac00 \uc9c0\uc18d\ub418\uba74 \uace0\uc0ac\ud558\ubbc0\ub85c \ubcd1\ub4e0 \ubd80\ubd84\uc744 \uc870\uae30\uc5d0 \uc81c\uac70\ud569\ub2c8\ub2e4.<\/li>\n                                <li><strong>\ubcd1\ub4e0 \uc78e \uc81c\uac70:<\/strong> \uac00\uc744\ucca0 \ubcd1\ub4e0 \ub099\uc5fd\uc744 \ubaa8\uc544 \ud0dc\uc6b0\uac70\ub098 \ub545\uc18d\uc5d0 \ubb3b\uc5b4 \uc6d4\ub3d9 \uc804\uc5fc\uc6d0\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4.<\/li>\n                                <li><strong>\ub179\ud3ec\uc790\ud1f4 \ube44\uc0b0 \uc804 \uc870\uce58:<\/strong> \ub179\ud3ec\uc790\uac00 \ube44\uc0b0\ud558\uae30 \uc804\uc5d0 \ub179\ud3ec\uc790\ud1f4\uac00 \ubc1c\uc0dd\ud55c \ubd80\uc704\ub97c \ube44\ub2d0\ub85c \uac10\uc2f8\uac70\ub098, 8\uc6d4 \uc774\ud6c4 \ubcd1\ub4e0 \ub098\ubb34\ub97c \uc81c\uac70\ud558\ub294 \uac83\ub3c4 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/li>\n                            <\/ul>\n                        <\/div>\n                        <div class=\"p-4 border border-purple-200 bg-purple-50\">\n                            <h3 class=\"text-xl font-semibold text-purple-800 mb-2\">\u2463 \ud658\uacbd \uad00\ub9ac<\/h3>\n                            <ul class=\"list-disc list-inside text-gray-700\">\n                                <li><strong>\ud569\ub9ac\uc801 \uc2dc\ube44:<\/strong> \uc9c8\uc18c\ube44\ub8cc\ub97c \ub9ce\uc774 \uc0ac\uc6a9\ud558\uba74 \ub179\ubcd1 \ubc1c\uc0dd\uc774 \uc26c\uc6b0\ubbc0\ub85c, \uc2dc\ube44\ub97c \ud569\ub9ac\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uc5ec \ub098\ubb34\uc758 \uc218\uc138\ub97c \uac74\uac15\ud558\uac8c \uc720\uc9c0\ud569\ub2c8\ub2e4.<\/li>\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"p-6 bg-white\">\n                    <h3 class=\"text-xl font-semibold text-emerald-800 mb-4 text-center\">\uc8fc\uc694 \ud65c\ub3d9 \uc2dc\uae30 \ubc0f \ubc29\uc81c \uc801\uae30<\/h3>\n                    <div class=\"chart-container\">\n                        <canvas id=\"controlChart\"><\/canvas>\n                    <\/div>\n                <\/div>\n            <\/section>\n        <\/main>\n\n        <footer class=\"text-center mt-8 pt-4 border-t border-gray-200 mb-8\">\n            <p class=\"text-sm text-gray-500\">\uc815\ubcf4 \ucd9c\ucc98: \uc0b0\ub9bc\uccad, \uad6d\ub9bd\uc0b0\ub9bc\uacfc\ud559\uc6d0, \uc11c\uc6b8\ub300\ud559\uad50 \uc218\ubaa9\uc9c4\ub2e8\uc13c\ud130 \ub4f1 \uc804\ubb38 \uc790\ub8cc<\/p>\n        <\/footer>\n    <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', () => {\n            const tabs = document.querySelectorAll('.nav-btn');\n            const sections = document.querySelectorAll('.content-section');\n\n            const morphologyData = {\n                telial_gall: {\n                    title: '\uaca8\uc6b8\ud3ec\uc790\ud1f4 (\ud5a5\ub098\ubb34\ub958)',\n                    description: '2~3\uc6d4\uacbd \ud5a5\ub098\ubb34\ub958\uc758 \uc78e, \uac00\uc9c0, \uc904\uae30\uc5d0 \uc9d9\uc740 \uac08\uc0c9\uc758 \ub3cc\uae30 \ud615\ud0dc\ub85c \ud615\uc131\ub429\ub2c8\ub2e4. 4\uc6d4\uc5d0 \ube44\ub97c \ub9de\uace0 \ubb3c\uae30\ub97c \ud761\uc218\ud558\uba74 \ub178\ub780\uc0c9~\uc605\uc740 \uac08\uc0c9\uc758 \ud55c\ucc9c(\uc824\ub9ac) \ubaa8\uc591\uc73c\ub85c \ubd80\ud480\uc5b4 \uc624\ub974\uba70, \uc774\ub54c \ub2f4\uc790\ud3ec\uc790\ub97c \ud615\uc131\ud558\uc5ec \ube44\uc0b0\ud569\ub2c8\ub2e4. (\uc824\ub9ac \ubaa8\uc591\uc73c\ub85c \ubd80\ud47c \uaca8\uc6b8\ud3ec\uc790\ud1f4 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    size: '(\uc815\ubcf4 \uc5c6\uc74c)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Telial_Gall_Swollen.jpg' \n                },\n                spermogonia: {\n                    title: '\ub179\ubcd1\uc815\uc790\uae30 (\uc7a5\ubbf8\uacfc \uc218\ubaa9)',\n                    description: '5\uc6d4\uacbd\ubd80\ud130 \uc7a5\ubbf8\uacfc \uc218\ubaa9\uc758 \uc78e\uacfc \uc5f4\ub9e4 \ub4f1\uc5d0 \ub098\ud0c0\ub098\ub294 \ub178\ub780\uc0c9\uc758 \uc791\uc740 \ubc18\uc810 \uc911\uc559\uc5d0 \ud615\uc131\ub418\ub294 \uac80\uc740\uc0c9 \uc810\uc785\ub2c8\ub2e4. \ub048\uc801\uc774\ub294 \ub2e8\ubb3c(\ub179\ubcd1\uc815\uc790)\uc774 \ubd84\ube44\ub429\ub2c8\ub2e4.',\n                    size: '(\uc815\ubcf4 \uc5c6\uc74c)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Spermogonia_Rosaceae_Leaf.jpg' \n                },\n                aecia: {\n                    title: '\ub179\ud3ec\uc790\ud1f4 (\uc7a5\ubbf8\uacfc \uc218\ubaa9)',\n                    description: '5\uc6d4 \ud558\uc21c~6\uc6d4\uacbd \uc7a5\ubbf8\uacfc \uc2dd\ubb3c\uc758 \uc78e \ub4b7\uba74\uc5d0 \ud615\uc131\ub418\ub294 \ud68c\uc0c9~\uc605\uc740 \uac08\uc0c9\uc758 \ud138 \ubaa8\uc591 \ub3cc\uae30\uc785\ub2c8\ub2e4. \uc774 \uc548\uc5d0\uc11c \ub179\ud3ec\uc790\uac00 \ud615\uc131\ub418\uc5b4 \ubc14\ub78c\uc5d0 \ub0a0\ub824 \ud5a5\ub098\ubb34\ub958\ub97c \uc7ac\uac10\uc5fc\uc2dc\ud0b5\ub2c8\ub2e4. (\uc724\ub178\ub9ac\ub098\ubb34 \uc78e\uc5d0 \ud615\uc131\ub41c \ub179\ud3ec\uc790\ud1f4 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    size: '(\uc815\ubcf4 \uc5c6\uc74c)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Aecia_Rosaceae_Leaf_Underside.jpg' \n                },\n                spores: {\n                    title: '\ub2f4\uc790\ud3ec\uc790 \ubc0f \ub179\ud3ec\uc790',\n                    description: '<strong>\ub2f4\uc790\ud3ec\uc790:<\/strong> \uaca8\uc6b8\ud3ec\uc790\uac00 \ubc1c\uc544\ud558\uc5ec \ub9cc\ub4dc\ub294 \ud3ec\uc790\ub85c, \uc7a5\ubbf8\uacfc \uc2dd\ubb3c\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. <strong>\ub179\ud3ec\uc790:<\/strong> \uc7a5\ubbf8\uacfc \uc2dd\ubb3c\uc5d0\uc11c \ud615\uc131\ub418\uc5b4 \ubc14\ub78c\uc5d0 \uc758\ud574 \ud5a5\ub098\ubb34\ub958\ub85c \ub0a0\uc544\uac00 \uac10\uc5fc\uc2dc\ud0a4\ub294 \ub178\ub780\uc0c9 \uac00\ub8e8 \ud615\ud0dc\uc758 \ud3ec\uc790\uc785\ub2c8\ub2e4. (\ubcd1\uc6d0\uade0\uc758 \ub179\ud3ec\uc790 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    size: '\ub2f4\uc790\ud3ec\uc790: (\uc815\ubcf4 \uc5c6\uc74c), \ub179\ud3ec\uc790: (\uc815\ubcf4 \uc5c6\uc74c)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Aeciospores_Microscope.jpg' \n                }\n            };\n\n            const damageData = {\n                juniper_galls: {\n                    title: '\ud5a5\ub098\ubb34\ub958 \ud53c\ud574 (\ub3cc\uae30\/\ud639\/\uace0\uc0ac)',\n                    description: '4\uc6d4 \ucd08\uc21c \ud5a5\ub098\ubb34\uc640 \ub178\uac04\uc8fc\ub098\ubb34\uc758 \uc78e, \uac00\uc9c0 \ubc0f \uc904\uae30\uc5d0 \uc9d9\uc740 \uac08\uc0c9\uc758 \ub3cc\uae30(\uaca8\uc6b8\ud3ec\uc790\ud1f4)\uac00 \ud615\uc131\ub418\uba70, \ube44\ub97c \ub9de\uc73c\uba74 \ub178\ub780\uc0c9~\uc605\uc740 \uac08\uc0c9\uc758 \ud55c\ucc9c \ubaa8\uc591\uc73c\ub85c \ubd80\ud480\uc5b4 \uc624\ub985\ub2c8\ub2e4. <i>G. japonicum<\/i>\uc5d0 \uc758\ud55c \ud53c\ud574\ub294 \ub208\ud5a5\ub098\ubb34\uc758 \uac00\uc9c0\uc640 \uc904\uae30\uc5d0 \uaca8\uc6b8\ud3ec\uc790\ud1f4\uac00 \uce68\uc785\ud558\uc5ec \uc218\ub144\uac04 \uacc4\uc18d \ud53c\ud574\ub97c \ubc1b\uc73c\uba74 \ub098\ubb34 \uc804\uccb4\uac00 \ub9d0\ub77c \uc8fd\uae30\ub3c4 \ud569\ub2c8\ub2e4. (\ud5a5\ub098\ubb34\uc5d0 \ub098\ud0c0\ub098\ub294 \uc5ec\ub7ec \uc885\ub958\uc758 \ub179\ubcd1 \uc99d\uc0c1 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Telial_Gall_Dry.jpg' \n                },\n                rosaceae_leaf_spots: {\n                    title: '\uc7a5\ubbf8\uacfc \uc78e \ud53c\ud574 (\ubd89\uc740 \ubc18\uc810\/\ud138)',\n                    description: '5\uc6d4\uacbd\ubd80\ud130 \uc7a5\ubbf8\uacfc \uc2dd\ubb3c\uc758 \uc78e\uacfc \uc5f4\ub9e4 \ub4f1\uc5d0 \ub178\ub780\uc0c9\uc758 \ub2e4\uc218 \uc791\uc740 \ubc18\uc810\uc774 \ub098\ud0c0\ub098\uace0 \uadf8 \uc911\uc559\uc5d0 \uac80\uc740\uc0c9 \uc810(\ub179\ubcd1\uc815\uc790\uae30)\uc774 \ud615\uc131\ub429\ub2c8\ub2e4. \uc78e \uc55e\uba74\uc5d0 \ubd89\uc740 \ubc18\uc810\uc774 \uc0dd\uae30\uace0 \uc78e \ub4b7\uba74\uc5d0\ub294 \ud68c\uc0c9~\uc605\uc740 \uac08\uc0c9\uc758 \ud138 \ubaa8\uc591\uc758 \ub179\ud3ec\uc790\ud1f4\uac00 \ub9ce\uc774 \ud615\uc131\ub418\uc5b4 \ubbf8\uad00\uc744 \ud574\uce69\ub2c8\ub2e4. \ubcd1\ub4e0 \uc78e\uc740 \uc77c\ucc0d \ub099\uc5fd\ub429\ub2c8\ub2e4. (\uc78e \uc55e\uba74\uc5d0 \ud615\uc131\ub41c \ub179\ubcd1\uc815\uc790\uae30 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Rosaceae_Leaf_Spots.jpg' \n                },\n                rosaceae_fruit_damage: {\n                    title: '\uc7a5\ubbf8\uacfc \uc5f4\ub9e4 \ud53c\ud574 (\uc810\ubb34\ub2ac\/\uc0c1\ud488\uc131 \uc800\ud558)',\n                    description: '\ubaa8\uacfc\ub098\ubb34 \uacfc\uc2e4\uc5d0 \ub179\ud3ec\uc790\ud1f4\uac00 \ud615\uc131\ub418\uc5b4 \uacfc\uc2e4\uc758 \ubbf8\uad00\uc744 \ud574\uce58\uace0 \uc815\uc0c1\uc801\uc778 \ubc1c\uc721\uc744 \ubc29\ud574\ud558\uba70, \ub9ce\uc740 \uc5f4\ub9e4\uac00 \uc870\uae30 \ub099\uacfc\ub418\uc5b4 \uacfc\uc77c\uc758 \uc0c1\ud488\uc131\uacfc \uc0dd\uc0b0\ub7c9\uc744 \uc800\ud558\uc2dc\ucf1c \ub18d\uac00\uc5d0 \ud070 \ud53c\ud574\ub97c \uc90d\ub2c8\ub2e4. (\ubaa8\uacfc\ub098\ubb34 \uacfc\uc2e4\uc5d0 \ud615\uc131\ub41c \ub179\ud3ec\uc790\ud1f4 \uc774\ubbf8\uc9c0 \ucc38\uace0)',\n                    image: 'https:\/\/storage.googleapis.com\/aai-web-samples\/Juniper_Rust_Rosaceae_Fruit_Damage.jpg' \n                }\n            };\n            \n            const setupImageFallback = (imgElement) => {\n                if (!imgElement) return;\n                imgElement.onerror = () => {\n                    const altText = imgElement.alt || '\uc774\ubbf8\uc9c0 \ub85c\ub529 \uc2e4\ud328';\n                    const placeholderUrl = `https:\/\/placehold.co\/400x300\/e2e8f0\/4a5568?text=${encodeURIComponent(altText)}`;\n                    imgElement.src = placeholderUrl;\n                    imgElement.onerror = null;\n                };\n            };\n            \n            setupImageFallback(document.getElementById('morphology-main-image'));\n            setupImageFallback(document.getElementById('damage-main-image'));\n\n            tabs.forEach(tab => {\n                tab.addEventListener('click', () => {\n                    tabs.forEach(t => t.classList.remove('active'));\n                    tab.classList.add('active');\n                    sections.forEach(section => {\n                        section.classList.remove('active');\n                        if (section.id === tab.dataset.tab) {\n                            section.classList.add('active');\n                        }\n                    });\n                });\n            });\n\n            \/\/ Morphology section logic\n            const morphologyTypeButtons = document.querySelectorAll('#morphology .stage-btn');\n            const morphologyTitle = document.getElementById('morphology-title');\n            const morphologyDescription = document.getElementById('morphology-description');\n            const morphologySize = document.getElementById('morphology-size');\n            const morphologyMainImage = document.getElementById('morphology-main-image');\n\n            function updateMorphologyContent(type) {\n                morphologyTypeButtons.forEach(btn => btn.classList.remove('active'));\n                document.querySelector(`#morphology .stage-btn[data-type=\"${type}\"]`).classList.add('active');\n                \n                const data = morphologyData[type];\n                morphologyTitle.textContent = data.title;\n                morphologyDescription.textContent = data.description;\n                morphologySize.textContent = data.size;\n                morphologyMainImage.src = data.image;\n                morphologyMainImage.alt = `${data.title} \uc774\ubbf8\uc9c0`;\n            }\n\n            morphologyTypeButtons.forEach(button => {\n                button.addEventListener('click', () => {\n                    updateMorphologyContent(button.dataset.type);\n                });\n            });\n            updateMorphologyContent('telial_gall'); \/\/ Initial content for morphology section\n\n            \/\/ Damage section logic\n            const damageTypeButtons = document.querySelectorAll('#damage .damage-btn');\n            const damageTitle = document.getElementById('damage-title');\n            const damageDescription = document.getElementById('damage-description');\n            const damageMainImage = document.getElementById('damage-main-image');\n\n            function updateDamageContent(type) {\n                damageTypeButtons.forEach(btn => btn.classList.remove('active'));\n                document.querySelector(`#damage .damage-btn[data-damage-type=\"${type}\"]`).classList.add('active');\n                \n                const data = damageData[type];\n                damageTitle.textContent = data.title;\n                damageDescription.textContent = data.description;\n                damageMainImage.src = data.image;\n                damageMainImage.alt = data.title;\n            }\n\n            damageTypeButtons.forEach(button => {\n                button.addEventListener('click', () => {\n                    updateDamageContent(button.dataset.damageType);\n                });\n            });\n            updateDamageContent('juniper_galls'); \/\/ Initial content for damage section\n\n            const ctx = document.getElementById('controlChart').getContext('2d');\n            new Chart(ctx, {\n                type: 'bar',\n                data: {\n                    labels: ['1\uc6d4', '2\uc6d4', '3\uc6d4', '4\uc6d4', '5\uc6d4', '6\uc6d4', '7\uc6d4', '8\uc6d4', '9\uc6d4', '10\uc6d4', '11\uc6d4', '12\uc6d4'],\n                    datasets: [{\n                        label: '\uaca8\uc6b8\ud3ec\uc790\ud1f4 \ud615\uc131 \ubc0f \ube44\uc0b0 (\ud5a5\ub098\ubb34)',\n                        data: [0, 0, 5, 10, 8, 2, 0, 0, 0, 0, 0, 0], \/\/ Peak Apr-May\n                        backgroundColor: 'rgba(234, 88, 12, 0.6)', \/* orange-600 *\/\n                        borderColor: 'rgba(234, 88, 12, 1)',\n                        borderWidth: 1,\n                        yAxisID: 'y',\n                    },{\n                        label: '\ub179\ubcd1\uc815\uc790\uae30 \ubc0f \ub179\ud3ec\uc790\ud1f4 \ud615\uc131 (\uc7a5\ubbf8\uacfc)',\n                        data: [0, 0, 0, 0, 5, 10, 8, 5, 0, 0, 0, 0], \/\/ Peak June-July\n                        backgroundColor: 'rgba(251, 191, 36, 0.6)', \/* amber-400 *\/\n                        borderColor: 'rgba(251, 191, 36, 1)',\n                        borderWidth: 1,\n                        yAxisID: 'y',\n                    },{\n                        label: '\ubc29\uc81c \ucd94\ucc9c \uae30\uac04 (\ud5a5\ub098\ubb34\ub958)',\n                        data: [0, 0, 0, 12, 12, 0, 12, 0, 0, 0, 0, 0], \/\/ April-May and July\n                        type: 'line',\n                        fill: true,\n                        backgroundColor: 'rgba(59, 130, 246, 0.2)', \/* blue-500 with transparency *\/\n                        borderColor: 'rgba(59, 130, 246, 1)',\n                        pointRadius: 0,\n                        yAxisID: 'y1'\n                    },{\n                        label: '\ubc29\uc81c \ucd94\ucc9c \uae30\uac04 (\uc7a5\ubbf8\uacfc \uc218\ubaa9)',\n                        data: [0, 0, 0, 12, 12, 12, 0, 0, 0, 0, 0, 0], \/\/ April-June\n                        type: 'line',\n                        fill: true,\n                        backgroundColor: 'rgba(101, 163, 13, 0.2)', \/* lime-600 with transparency *\/\n                        borderColor: 'rgba(101, 163, 13, 1)',\n                        pointRadius: 0,\n                        yAxisID: 'y1'\n                    }]\n                },\n                options: {\n                    responsive: true,\n                    maintainAspectRatio: false,\n                    plugins: {\n                        legend: {\n                           display: true,\n                           position: 'top',\n                           labels: {\n                               usePointStyle: false,\n                           }\n                        },\n                        tooltip: {\n                           mode: 'index',\n                           intersect: false,\n                           callbacks: {\n                                label: function(context) {\n                                    if (context.dataset.label.includes('\ubc29\uc81c \ucd94\ucc9c \uae30\uac04')) {\n                                        if (context.dataset.label.includes('\ud5a5\ub098\ubb34\ub958')) return ` ${context.dataset.label}: 4~5\uc6d4, 7\uc6d4`;\n                                        return ` ${context.dataset.label}: 4\uc6d4 \uc911\uc21c ~ 6\uc6d4`;\n                                    }\n                                    return ` ${context.dataset.label}: ${context.raw} (\ud65c\ub3d9 \ubc00\ub3c4)`;\n                                }\n                           }\n                        },\n                        title: {\n                            display: true,\n                            text: '\ud5a5\ub098\ubb34 \ub179\ubcd1 \uc6d4\ubcc4 \ud65c\ub3d9 \ubc0f \ubc29\uc81c \uc2dc\uae30'\n                        }\n                    },\n                    scales: {\n                        x: {\n                            stacked: true,\n                        },\n                        y: {\n                           stacked: true,\n                           display: true,\n                           title: {\n                               display: true,\n                               text: '\ud65c\ub3d9 \ubc00\ub3c4'\n                           },\n                           max: 12\n                        },\n                        y1: {\n                           display: false,\n                           max: 15\n                        }\n                    }\n                }\n            });\n        });\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"featured_media":3118,"template":"","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"pest-target":[262,265,264,273,266,270,267,148,175,268,269,276,277,263,271,274,272,275,206],"pest-category":[279,86],"pest-overwintering":[218],"class_list":["post-3117","pest","type-pest","status-publish","has-post-thumbnail","hentry","pest-target-262","pest-target-265","pest-target-264","pest-target-273","pest-target-266","pest-target-270","pest-target-267","pest-target-148","pest-target-175","pest-target-268","pest-target-269","pest-target-276","pest-target-277","pest-target-263","pest-target-271","pest-target-274","pest-target-272","pest-target-275","pest-target-206","pest-category-279","pest-category-86","pest-overwintering-218"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1.jpg",1112,566,false],"thumbnail":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1-150x150.jpg",150,150,true],"medium":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1-300x153.jpg",300,153,true],"medium_large":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1-768x391.jpg",768,391,true],"large":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1-1024x521.jpg",1024,521,true],"1536x1536":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1.jpg",1112,566,false],"2048x2048":["https:\/\/hstc.treecare.co.kr\/wp-content\/uploads\/2025\/06\/\ud5a5\ub098\ubb34-\ub179\ubcd1.jpg",1112,566,false]},"uagb_author_info":{"display_name":"darius","author_link":"https:\/\/hstc.treecare.co.kr\/?author=0"},"uagb_comment_info":0,"uagb_excerpt":"\ud5a5\ub098\ubb34 \ub179\ubcd1 \ub300\ud654\ud615 \uac00\uc774\ub4dc \uac1c\uc694 \ubcd1\uc6d0\uade0 \ud615\ud0dc \ud53c\ud574 \uc99d\uc0c1 \uc0dd\ud65c\uc0ac \ubc29\uc81c \ubc29\ubc95 \ud5a5\ub098\ubb34 \ub179\ubcd1 (Gymnosporangium spp.)\uc774\ub780? \ud5a5\ub098\ubb34 \ub179\ubcd1\uc740 Gymnosporangium \uc18d(\u5c6c) [&hellip;]","_links":{"self":[{"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=\/wp\/v2\/pest\/3117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=\/wp\/v2\/pest"}],"about":[{"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=\/wp\/v2\/types\/pest"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=\/wp\/v2\/media\/3118"}],"wp:attachment":[{"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3117"}],"wp:term":[{"taxonomy":"pest-target","embeddable":true,"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fpest-target&post=3117"},{"taxonomy":"pest-category","embeddable":true,"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fpest-category&post=3117"},{"taxonomy":"pest-overwintering","embeddable":true,"href":"https:\/\/hstc.treecare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fpest-overwintering&post=3117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}