{"id":7,"date":"2025-12-26T15:16:14","date_gmt":"2025-12-26T06:16:14","guid":{"rendered":"https:\/\/berryeasy.co.kr\/?page_id=7"},"modified":"2026-01-29T18:22:01","modified_gmt":"2026-01-29T09:22:01","slug":"test","status":"publish","type":"page","link":"https:\/\/berryeasy.co.kr\/","title":{"rendered":"test"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7\" class=\"elementor elementor-7\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ace7861 e-flex e-con-boxed e-con e-parent\" data-id=\"ace7861\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c23116 elementor-widget elementor-widget-heading\" data-id=\"9c23116\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Add Your Heading Text Here<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa16a21 elementor-widget elementor-widget-ucaddon_unlimited_timeline\" data-id=\"aa16a21\" data-element_type=\"widget\" data-widget_type=\"ucaddon_unlimited_timeline.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Unlimited Timeline -->\n\t\t<link id='font-awesome-css' href='https:\/\/berryeasy.co.kr\/wp-content\/plugins\/unlimited-elements-for-elementor-premium\/assets_libraries\/font-awesome6\/fontawesome-all.min.css' type='text\/css' rel='stylesheet' >\n\t\t<link id='font-awesome-4-shim-css' href='https:\/\/berryeasy.co.kr\/wp-content\/plugins\/unlimited-elements-for-elementor-premium\/assets_libraries\/font-awesome6\/fontawesome-v4-shims.min.css' type='text\/css' rel='stylesheet' >\n\n<style>\/* widget: Unlimited Timeline *\/\n\n\n\n#uc_unlimited_timeline_elementor_aa16a21{\n  direction:ltr;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 *{\n  box-sizing:border-box;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item{\n  display:flex;\n  flex-direction:row-reverse;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon{\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon_line{\n  flex-grow:1;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon_line_offset{\n  flex-grow:0;\n  flex-shrink:0;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon_holder{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  line-height:1em;\n  flex-direction:column;\n  transition: all 0.4s ease-in-out;\n  text-align: center;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon_holder svg{\n  height:1em;\n  width:1em;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content{\n  flex:1;\n  flex-shrink:0;\n  flex-direction:row-reverse;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_spacer{\n  flex:1;\n  flex-shrink:0;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content_main{\n  flex-grow:1;\n  word-break: break-word;\n  transition: all .3s;\n  position: relative;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content_main_link{\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  display: block;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content{\n  display:flex;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_pointer_spacer{\n  flex-grow:0;\n  flex-shrink:0;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_icon{\n  flex-grow:0;\n  flex-shrink:0;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_pointer{  \n  flex-grow:0;\n  flex-shrink:0;\n  margin-top:0px;\n  position:relative;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item .ue_timeline_item_content .ue_timeline_item_pointer .ue_timeline_item_pointer_inside{\n  position:relative;\n  clip-path: polygon(0 50%, 100% 0, 100% 100%);\n  transition: all .3s;\n}\n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:last-child .ue_timeline_item_icon_line{\n    display:none;\n  }\n\t\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:last-child .ue_timeline_item_content{\n  margin-bottom:0px;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_spacer  {\n  display:none;\n}\n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:nth-child(odd)    {\n   flex-direction:row;\n  }\n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:nth-child(odd) .ue_timeline_item_content{\n   flex-direction:row;\n  } \n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_spacer  {\n    display:block;\n  }\n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:nth-child(odd) .ue_timeline_item_content .ue_timeline_item_pointer .ue_timeline_item_pointer_inside{ \n   clip-path: polygon(100% 50%, 0 0, 0 100%);\n  }\n\t\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_button{\n\tdisplay: flex;\n  \talign-items: center;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_link{\n\tcursor: pointer;\n  \ttransition: all .3s;\n}\n\n\n.ue_timeline_item_title{\n  font-size:21px;\n}\n\n.ue_text_one, .ue_text_two, .ue_text_three{\n  font-size:14px;\n  line-height:1.1em;\n}\n\n.ue_timeline_item_icon_line_mask, .ue_timeline_item_icon_line_offset_mask {\n  width: 100%;\n  height: 0%;\n  max-height: 100%;\n  will-change: height;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_line_icon_holder{\n  position: relative;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_line_floating_icon,\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_line_floating_icon-offset{\n  position: absolute;\n  bottom: 0;\n  left: 50%;\n  transform: translate(-50%, 0%);\n  opacity: 0;\n  display: none;\n    display: none !important;\n  }\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_floating_icon{\n  display:flex;\n  opacity: 1;\n  justify-content:center;\n  align-items:center;\n  line-height:1em;\n  flex-direction:column;\n  transition: all 0.4s ease-in-out;\n  text-align: center;\n}\n  \n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_image{\nobject-fit: cover;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content_inside{\n  position:relative;\n}\n\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_content_main{\n  position:relative;\n  overflow:hidden;\n}\n\n\n@media only screen and (max-width: 768px) {\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item{\n    flex-direction:row-reverse !important;\n  }\n\n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item .ue_timeline_item_content{\n   flex-direction:row-reverse !important;\n  }\n  \n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_spacer  {\n    display:none;\n  }\n  \n  #uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item .ue_timeline_item_content .ue_timeline_item_pointer .ue_timeline_item_pointer_inside  { \n   clip-path: polygon(0 50%, 100% 0, 100% 100%) !important;\n  }  \n}\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item_img_wrapper{\n  display: flex;\n}\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:nth-child(even) .ue_timeline_item_img_wrapper{\n  justify-content: flex-end;\n}\n#uc_unlimited_timeline_elementor_aa16a21 .ue_timeline_item:nth-child(odd) .ue_timeline_item_img_wrapper{\n  justify-content: flex-start;\n}\n\t\n\n\n\n\n\n\t\n\n\n\n\n\n\t\n\n\n\n\n\n\t\n\n\n\n\n\n\n\n<\/style>\n\n<div id=\"uc_unlimited_timeline_elementor_aa16a21\" class=\"uc-items-wrapper \"  >\n  \n<div class=\"ue_timeline_item elementor-repeater-item-137a88f \" id=\"uc_unlimited_timeline_elementor_aa16a21_item1\">\n    <div class=\"ue_timeline_item_content\">\n      \n      <div class=\"ue_timeline_item_content_main\">\n        \n                \n        <div class=\"ue_timeline_item_content_inside\">\n                <div class=\"ue_timeline_item_title\" >All-in-One Solution<\/div>          <div class=\"ue_timeline_item_subtitle\" >Subtitle Text Here<\/div>\n        <div class=\"ue_timeline_item_text\"><p>Find all the tools you\u2019ll need to create advanced websites in one place. Stop waisting time searching for solutions.<\/p><\/div>\t\n      \t          \n        <\/div>\n              <\/div>\n      \n            <div class=\"ue_timeline_item_pointer\">\n        <div class=\"ue_timeline_item_pointer_inside\"><\/div>\n      <\/div>\n            \n      <div class=\"ue_timeline_item_pointer_spacer\"><\/div>\n      \n    <\/div>\n  \n    <div class=\"ue_timeline_item_icon\">\n      <div class=\"ue_timeline_item_icon_line_offset\">\n      \t<div class=\"ue_timeline_item_icon_line_offset_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon-offset ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ue_timeline_item_icon_holder\">\n                                      <\/div>\n      \n      <div class=\"ue_timeline_item_icon_line\">\n      \t<div class=\"ue_timeline_item_icon_line_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      \n    <\/div>\n    <div class=\"ue_timeline_item_spacer\">\n        \t<\/div>\n  <\/div>\n\n<div class=\"ue_timeline_item elementor-repeater-item-b92caac \" id=\"uc_unlimited_timeline_elementor_aa16a21_item2\">\n    <div class=\"ue_timeline_item_content\">\n      \n      <div class=\"ue_timeline_item_content_main\">\n        \n                \n        <div class=\"ue_timeline_item_content_inside\">\n                <div class=\"ue_timeline_item_title\" >Nonstop Updates<\/div>          <div class=\"ue_timeline_item_subtitle\" >Subtitle Text Here<\/div>\n        <div class=\"ue_timeline_item_text\"><p>We strive to innovate when it comes to functionality. Our mission is to be the best, come and join the ride.<\/p><\/div>\t\n      \t          \n        <\/div>\n              <\/div>\n      \n            <div class=\"ue_timeline_item_pointer\">\n        <div class=\"ue_timeline_item_pointer_inside\"><\/div>\n      <\/div>\n            \n      <div class=\"ue_timeline_item_pointer_spacer\"><\/div>\n      \n    <\/div>\n  \n    <div class=\"ue_timeline_item_icon\">\n      <div class=\"ue_timeline_item_icon_line_offset\">\n      \t<div class=\"ue_timeline_item_icon_line_offset_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon-offset ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ue_timeline_item_icon_holder\">\n                                      <\/div>\n      \n      <div class=\"ue_timeline_item_icon_line\">\n      \t<div class=\"ue_timeline_item_icon_line_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      \n    <\/div>\n    <div class=\"ue_timeline_item_spacer\">\n        \t<\/div>\n  <\/div>\n\n<div class=\"ue_timeline_item elementor-repeater-item-da995e7 \" id=\"uc_unlimited_timeline_elementor_aa16a21_item3\">\n    <div class=\"ue_timeline_item_content\">\n      \n      <div class=\"ue_timeline_item_content_main\">\n        \n                \n        <div class=\"ue_timeline_item_content_inside\">\n                <div class=\"ue_timeline_item_title\" >Advanced Tools<\/div>          <div class=\"ue_timeline_item_subtitle\" >Subtitle Text Here<\/div>\n        <div class=\"ue_timeline_item_text\"><p>Add more power to Elementor using our creative elements and make your projects look prettier than ever before.<\/p><\/div>\t\n      \t          \n        <\/div>\n              <\/div>\n      \n            <div class=\"ue_timeline_item_pointer\">\n        <div class=\"ue_timeline_item_pointer_inside\"><\/div>\n      <\/div>\n            \n      <div class=\"ue_timeline_item_pointer_spacer\"><\/div>\n      \n    <\/div>\n  \n    <div class=\"ue_timeline_item_icon\">\n      <div class=\"ue_timeline_item_icon_line_offset\">\n      \t<div class=\"ue_timeline_item_icon_line_offset_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon-offset ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ue_timeline_item_icon_holder\">\n                                      <\/div>\n      \n      <div class=\"ue_timeline_item_icon_line\">\n      \t<div class=\"ue_timeline_item_icon_line_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      \n    <\/div>\n    <div class=\"ue_timeline_item_spacer\">\n        \t<\/div>\n  <\/div>\n\n<div class=\"ue_timeline_item elementor-repeater-item-52da441 \" id=\"uc_unlimited_timeline_elementor_aa16a21_item4\">\n    <div class=\"ue_timeline_item_content\">\n      \n      <div class=\"ue_timeline_item_content_main\">\n        \n                \n        <div class=\"ue_timeline_item_content_inside\">\n                <div class=\"ue_timeline_item_title\" >24\/7 Dedicated Support<\/div>          <div class=\"ue_timeline_item_subtitle\" >Subtitle Text Here<\/div>\n        <div class=\"ue_timeline_item_text\"><p>Each and every one of our customers receives personalised assistance from our dedicated support team.<\/p><\/div>\t\n      \t          \n        <\/div>\n              <\/div>\n      \n            <div class=\"ue_timeline_item_pointer\">\n        <div class=\"ue_timeline_item_pointer_inside\"><\/div>\n      <\/div>\n            \n      <div class=\"ue_timeline_item_pointer_spacer\"><\/div>\n      \n    <\/div>\n  \n    <div class=\"ue_timeline_item_icon\">\n      <div class=\"ue_timeline_item_icon_line_offset\">\n      \t<div class=\"ue_timeline_item_icon_line_offset_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon-offset ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ue_timeline_item_icon_holder\">\n                                      <\/div>\n      \n      <div class=\"ue_timeline_item_icon_line\">\n      \t<div class=\"ue_timeline_item_icon_line_mask ue_timeline_item_line_icon_holder\">\n          <div class=\"ue_timeline_item_line_floating_icon ue_timeline_floating_icon\"><i class='fas fa-rocket'><\/i><\/div>\n        <\/div>\n      <\/div>\n      \n    <\/div>\n    <div class=\"ue_timeline_item_spacer\">\n        \t<\/div>\n  <\/div>\n \n<\/div>\n<!-- end Unlimited Timeline -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d6172f elementor-widget elementor-widget-html\" data-id=\"4d6172f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* \ucc57\ubd07 \uc2a4\ud0c0\uc77c *\/\r\n.frameflow-chat-container {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n}\r\n\r\n.chat-input-area {\r\n    display: flex;\r\n    gap: 10px;\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.chat-input {\r\n    flex: 1;\r\n    padding: 15px;\r\n    border: 2px solid #e0e0e0;\r\n    border-radius: 10px;\r\n    font-size: 16px;\r\n    transition: border-color 0.3s;\r\n}\r\n\r\n.chat-input:focus {\r\n    outline: none;\r\n    border-color: #4CAF50;\r\n}\r\n\r\n.chat-send-btn {\r\n    padding: 15px 30px;\r\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n    color: white;\r\n    border: none;\r\n    border-radius: 10px;\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    transition: transform 0.2s;\r\n}\r\n\r\n.chat-send-btn:hover {\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.chat-send-btn:disabled {\r\n    background: #ccc;\r\n    cursor: not-allowed;\r\n}\r\n\r\n.chat-answer-box {\r\n    background: #f8f9fa;\r\n    padding: 20px;\r\n    border-radius: 10px;\r\n    min-height: 100px;\r\n    margin-bottom: 20px;\r\n    border-left: 4px solid #667eea;\r\n}\r\n\r\n.chat-loading {\r\n    display: none;\r\n    color: #666;\r\n    font-style: italic;\r\n}\r\n\r\n.quick-questions {\r\n    display: flex;\r\n    gap: 10px;\r\n    flex-wrap: wrap;\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.quick-btn {\r\n    padding: 10px 20px;\r\n    background: white;\r\n    border: 2px solid #e0e0e0;\r\n    border-radius: 20px;\r\n    cursor: pointer;\r\n    transition: all 0.3s;\r\n}\r\n\r\n.quick-btn:hover {\r\n    background: #667eea;\r\n    color: white;\r\n    border-color: #667eea;\r\n}\r\n\r\n.token-info {\r\n    text-align: right;\r\n    color: #666;\r\n    font-size: 14px;\r\n    margin-top: 10px;\r\n}\r\n<\/style>\r\n\r\n<div class=\"frameflow-chat-container\">\r\n    <!-- \uc9c8\ubb38 \uc785\ub825 -->\r\n    <div class=\"chat-input-area\">\r\n        <input \r\n            type=\"text\" \r\n            id=\"chatInput\" \r\n            class=\"chat-input\" \r\n            placeholder=\"GA4 \ub370\uc774\ud130\uc5d0 \ub300\ud574 \uc9c8\ubb38\ud558\uc138\uc694... (\uc608: \uc5b4\uc81c \ubc29\ubb38\uc790 \uba87 \uba85?)\"\r\n            onkeypress=\"if(event.key==='Enter') sendQuestion()\"\r\n        >\r\n        <button onclick=\"sendQuestion()\" id=\"sendBtn\" class=\"chat-send-btn\">\r\n            \uc804\uc1a1\r\n        <\/button>\r\n    <\/div>\r\n\r\n    <!-- \ube60\ub978 \uc9c8\ubb38 \ubc84\ud2bc -->\r\n    <div class=\"quick-questions\">\r\n        <button class=\"quick-btn\" onclick=\"askQuick('\uc9c0\ub09c 30\uc77c \ud65c\uc131 \uc0ac\uc6a9\uc790\uac00 \uba87 \uba85\uc774\uc57c?')\">\r\n            \ud83d\udc65 \ud65c\uc131 \uc0ac\uc6a9\uc790\r\n        <\/button>\r\n        <button class=\"quick-btn\" onclick=\"askQuick('\ucd1d \uc218\uc775\uc774 \uc5bc\ub9c8\uc57c?')\">\r\n            \ud83d\udcb0 \ucd1d \uc218\uc775\r\n        <\/button>\r\n        <button class=\"quick-btn\" onclick=\"askQuick('\uac00\uc7a5 \ub9ce\uc774 \ubc29\ubb38\ud55c \ud398\uc774\uc9c0 5\uac1c \uc54c\ub824\uc918')\">\r\n            \ud83d\udcc4 \uc778\uae30 \ud398\uc774\uc9c0\r\n        <\/button>\r\n        <button class=\"quick-btn\" onclick=\"askQuick('\uc8fc\uc694 \uc720\uc785\uacbd\ub85c\ub294?')\">\r\n            \ud83d\udeaa \uc720\uc785\uacbd\ub85c\r\n        <\/button>\r\n        <button class=\"quick-btn\" onclick=\"askQuick('\uc774\ud0c8\ub960\uc774 \ub192\uc740 \ud398\uc774\uc9c0\ub294?')\">\r\n            \u26a0\ufe0f \uc774\ud0c8\ub960\r\n        <\/button>\r\n    <\/div>\r\n\r\n    <!-- \ub85c\ub529 \ud45c\uc2dc -->\r\n    <div class=\"chat-loading\" id=\"loading\">\r\n        \ud83e\udd14 \ubd84\uc11d \uc911\uc785\ub2c8\ub2e4...\r\n    <\/div>\r\n\r\n    <!-- \ub2f5\ubcc0 \ud45c\uc2dc -->\r\n    <div class=\"chat-answer-box\" id=\"answerBox\">\r\n        <div style=\"color: #999;\">\ub2f5\ubcc0\uc774 \uc5ec\uae30\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4<\/div>\r\n    <\/div>\r\n\r\n    <!-- \ud1a0\ud070 \uc815\ubcf4 -->\r\n    <div class=\"token-info\" id=\"tokenInfo\">\r\n        \ub0a8\uc740 \ud1a0\ud070: <span id=\"remainingTokens\">10,000<\/span>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ API \uc5d4\ub4dc\ud3ec\uc778\ud2b8 (\ub85c\uceec \ud14c\uc2a4\ud2b8\uc6a9)\r\nconst API_URL = 'http:\/\/localhost:5000\/api\/chat';\r\nconst USER_ID = 1; \/\/ \ub098\uc911\uc5d0 WordPress \uc0ac\uc6a9\uc790 ID\ub85c \ubcc0\uacbd\r\n\r\n\/\/ \uc9c8\ubb38 \uc804\uc1a1\r\nasync function sendQuestion() {\r\n    const input = document.getElementById('chatInput');\r\n    const question = input.value.trim();\r\n    \r\n    if (!question) {\r\n        alert('\uc9c8\ubb38\uc744 \uc785\ub825\ud558\uc138\uc694');\r\n        return;\r\n    }\r\n    \r\n    \/\/ UI \uc5c5\ub370\uc774\ud2b8\r\n    const sendBtn = document.getElementById('sendBtn');\r\n    const loading = document.getElementById('loading');\r\n    const answerBox = document.getElementById('answerBox');\r\n    \r\n    sendBtn.disabled = true;\r\n    loading.style.display = 'block';\r\n    answerBox.innerHTML = '<div style=\"color: #999;\">\ubd84\uc11d \uc911...<\/div>';\r\n    \r\n    try {\r\n        \/\/ API \ud638\ucd9c\r\n        const response = await fetch(API_URL, {\r\n            method: 'POST',\r\n            headers: {\r\n                'Content-Type': 'application\/json',\r\n            },\r\n            body: JSON.stringify({\r\n                user_id: USER_ID,\r\n                question: question\r\n            })\r\n        });\r\n        \r\n        const data = await response.json();\r\n        \r\n        if (data.error) {\r\n            throw new Error(data.error);\r\n        }\r\n        \r\n        \/\/ \ub2f5\ubcc0 \ud45c\uc2dc\r\n        answerBox.innerHTML = `\r\n            <div style=\"font-size: 16px; line-height: 1.6;\">\r\n                ${formatAnswer(data.answer)}\r\n            <\/div>\r\n            <div style=\"margin-top: 10px; font-size: 12px; color: #999;\">\r\n                \uc0ac\uc6a9 \ud1a0\ud070: ${data.tokens_used.toLocaleString()}\r\n            <\/div>\r\n        `;\r\n        \r\n        \/\/ \ud1a0\ud070 \uc5c5\ub370\uc774\ud2b8\r\n        document.getElementById('remainingTokens').textContent = \r\n            data.remaining_balance.toLocaleString();\r\n        \r\n        \/\/ \uc785\ub825\ucc3d \ucd08\uae30\ud654\r\n        input.value = '';\r\n        \r\n    } catch (error) {\r\n        answerBox.innerHTML = `\r\n            <div style=\"color: #e74c3c;\">\r\n                \u26a0\ufe0f \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: ${error.message}\r\n            <\/div>\r\n        `;\r\n    } finally {\r\n        sendBtn.disabled = false;\r\n        loading.style.display = 'none';\r\n    }\r\n}\r\n\r\n\/\/ \ube60\ub978 \uc9c8\ubb38\r\nfunction askQuick(question) {\r\n    document.getElementById('chatInput').value = question;\r\n    sendQuestion();\r\n}\r\n\r\n\/\/ \ub2f5\ubcc0 \ud3ec\ub9f7\ud305 (\ub9c8\ud06c\ub2e4\uc6b4 \uc2a4\ud0c0\uc77c \u2192 HTML)\r\nfunction formatAnswer(text) {\r\n    \/\/ **\uad75\uac8c** \u2192 <strong>\r\n    text = text.replace(\/\\*\\*(.*?)\\*\\*\/g, '<strong>$1<\/strong>');\r\n    \r\n    \/\/ \uc904\ubc14\uafc8 \u2192 <br>\r\n    text = text.replace(\/\\n\/g, '<br>');\r\n    \r\n    return text;\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eca8c70 elementor-widget elementor-widget-html\" data-id=\"eca8c70\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.refresh-btn {\r\n    padding: 15px 30px;\r\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n    color: white;\r\n    border: none;\r\n    border-radius: 10px;\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    transition: transform 0.2s;\r\n}\r\n\r\n.refresh-btn:hover {\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.refresh-btn:disabled {\r\n    background: #ccc;\r\n    cursor: not-allowed;\r\n}\r\n\r\n#refreshStatus {\r\n    margin-top: 15px;\r\n    padding: 10px;\r\n    border-radius: 5px;\r\n}\r\n\r\n.status-loading {\r\n    background: #fff3cd;\r\n    color: #856404;\r\n}\r\n\r\n.status-success {\r\n    background: #d4edda;\r\n    color: #155724;\r\n}\r\n\r\n.status-error {\r\n    background: #f8d7da;\r\n    color: #721c24;\r\n}\r\n<\/style>\r\n\r\n<button id=\"refreshGA4Btn\" class=\"refresh-btn\">\ud83d\udcca \ub370\uc774\ud130 \uac31\uc2e0\ud558\uae30<\/button>\r\n<div id=\"refreshStatus\"><\/div>\r\n\r\n<script>\r\ndocument.getElementById('refreshGA4Btn').addEventListener('click', async function() {\r\n    const btn = this;\r\n    const statusDiv = document.getElementById('refreshStatus');\r\n    \r\n    \/\/ WordPress \uc0ac\uc6a9\uc790 ID\r\n    const wpUserId = <?php echo get_current_user_id(); ?>;\r\n    \r\n    if (!wpUserId || wpUserId === 0) {\r\n        statusDiv.className = 'status-error';\r\n        statusDiv.innerHTML = '\u274c \ub85c\uadf8\uc778\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.';\r\n        return;\r\n    }\r\n    \r\n    \/\/ \ubc84\ud2bc \ube44\ud65c\uc131\ud654\r\n    btn.disabled = true;\r\n    statusDiv.className = 'status-loading';\r\n    statusDiv.innerHTML = '\u23f3 WordPress \uc0ac\uc6a9\uc790 \ud655\uc778 \uc911...';\r\n    \r\n    try {\r\n        \/\/ Step 1: WordPress user_id \u2192 Supabase user_id \ubcc0\ud658\r\n        const userResponse = await fetch('http:\/\/158.247.213.162:5000\/api\/user\/get-by-wp-id', {\r\n            method: 'POST',\r\n            headers: {'Content-Type': 'application\/json'},\r\n            body: JSON.stringify({ wp_user_id: wpUserId })\r\n        });\r\n        \r\n        const userData = await userResponse.json();\r\n        \r\n        if (userData.error) {\r\n            throw new Error(userData.error);\r\n        }\r\n        \r\n        const supabaseUserId = userData.user_id;\r\n        \r\n        \/\/ Step 2: GA4 \ub370\uc774\ud130 \uac31\uc2e0\r\n        statusDiv.innerHTML = '\u23f3 GA4 \ub370\uc774\ud130 \uac00\uc838\uc624\ub294 \uc911... (30\ucd08 \uc18c\uc694)';\r\n        \r\n        const syncResponse = await fetch('http:\/\/158.247.213.162:5000\/api\/ga4\/sync-user', {\r\n            method: 'POST',\r\n            headers: {'Content-Type': 'application\/json'},\r\n            body: JSON.stringify({\r\n                user_id: supabaseUserId,\r\n                days: 30\r\n            })\r\n        });\r\n        \r\n        const syncData = await syncResponse.json();\r\n        \r\n        if (syncData.error) {\r\n            throw new Error(syncData.error);\r\n        }\r\n        \r\n        \/\/ \uc131\uacf5\r\n        statusDiv.className = 'status-success';\r\n        statusDiv.innerHTML = `\r\n            \u2705 \uac31\uc2e0 \uc644\ub8cc!<br>\r\n            \ud83d\udcca \ud65c\uc131 \uc0ac\uc6a9\uc790: ${syncData.summary.activeUsers.toLocaleString()}\uba85<br>\r\n            \ud83d\udcb0 \ucd1d \uc218\uc775: \u20a9${syncData.summary.purchaseRevenue.toLocaleString()}\r\n        `;\r\n        \r\n    } catch (error) {\r\n        statusDiv.className = 'status-error';\r\n        statusDiv.innerHTML = `\u274c \uc5d0\ub7ec: ${error.message}`;\r\n        console.error('\uac31\uc2e0 \uc5d0\ub7ec:', error);\r\n    } finally {\r\n        btn.disabled = false;\r\n    }\r\n});\r\n\r\n\/\/ \ud398\uc774\uc9c0 \ub85c\ub4dc \uc2dc \uc0ac\uc6a9\uc790 \uc815\ubcf4 \ud655\uc778\r\nwindow.addEventListener('load', async function() {\r\n    const wpUserId = <?php echo get_current_user_id(); ?>;\r\n    \r\n    if (!wpUserId || wpUserId === 0) {\r\n        document.getElementById('refreshStatus').className = 'status-error';\r\n        document.getElementById('refreshStatus').innerHTML = '\u26a0\ufe0f \ub85c\uadf8\uc778\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.';\r\n        document.getElementById('refreshGA4Btn').disabled = true;\r\n        return;\r\n    }\r\n    \r\n    \/\/ \uc0ac\uc6a9\uc790 \ub4f1\ub85d \uc5ec\ubd80 \ud655\uc778\r\n    try {\r\n        const response = await fetch('http:\/\/158.247.213.162:5000\/api\/user\/get-by-wp-id', {\r\n            method: 'POST',\r\n            headers: {'Content-Type': 'application\/json'},\r\n            body: JSON.stringify({ wp_user_id: wpUserId })\r\n        });\r\n        \r\n        const data = await response.json();\r\n        \r\n        if (data.error) {\r\n            document.getElementById('refreshStatus').className = 'status-error';\r\n            document.getElementById('refreshStatus').innerHTML = '\u26a0\ufe0f GA4 Property ID\ub97c \uba3c\uc800 \ub4f1\ub85d\ud558\uc138\uc694.';\r\n        } else {\r\n            document.getElementById('refreshStatus').className = 'status-success';\r\n            document.getElementById('refreshStatus').innerHTML = `\r\n                \u2139\ufe0f \ub4f1\ub85d \uc644\ub8cc (\uc794\uc561: ${data.token_balance.toLocaleString()} \ud1a0\ud070)\r\n            `;\r\n        }\r\n    } catch (error) {\r\n        console.error('\uc0ac\uc6a9\uc790 \ud655\uc778 \uc5d0\ub7ec:', error);\r\n    }\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Add Your Heading Text Here All-in-One Solution Subtitle Text Here Find all the tools you\u2019ll need to create advanced websites in one place. Stop waisting time searching for solutions. Nonstop Updates Subtitle Text Here We strive to innovate when it comes to functionality. Our mission is to be the best, come and join the ride. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":5,"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":140,"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions\/140"}],"wp:attachment":[{"href":"https:\/\/berryeasy.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}