{"id":14435,"date":"2025-08-06T12:18:01","date_gmt":"2025-08-06T03:18:01","guid":{"rendered":"https:\/\/chois2080.mycafe24.com\/?page_id=14435"},"modified":"2025-08-06T12:18:57","modified_gmt":"2025-08-06T03:18:57","slug":"%ed%8a%b9%ec%88%98%ea%b4%80%ea%b3%84%ec%9d%b8-%ec%84%b8%ea%b8%88%ec%a7%84%eb%8b%a8","status":"publish","type":"page","link":"https:\/\/chois2080.mycafe24.com\/?page_id=14435","title":{"rendered":"\ud2b9\uc218\uad00\uacc4\uc778 \uc138\uae08\uc9c4\ub2e8"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14435\" class=\"elementor elementor-14435\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5326686 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5326686\" 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-8f3d034\" data-id=\"8f3d034\" 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-b40e967 elementor-widget elementor-widget-html\" data-id=\"b40e967\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"ko\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\ud2b9\uc218\uad00\uacc4\uc778 \uac70\ub798 \uc138\uae08\uacc4\uc0b0\uae30<\/title>\n    <style>\n        body {\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n            background-color: #f4f7f6;\n            color: #333;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n            display: flex;\n            justify-content: center;\n            align-items: flex-start;\n            min-height: 100vh;\n        }\n\n        .container {\n            background-color: #ffffff;\n            padding: 30px 40px;\n            border-radius: 10px;\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);\n            max-width: 1000px;\n            width: 100%;\n            box-sizing: border-box;\n        }\n\n        h1 {\n            color: #2c3e50;\n            text-align: center;\n            margin-bottom: 15px;\n            font-size: 2em;\n        }\n\n        h2 {\n            color: #34495e;\n            border-bottom: 2px solid #e0e0e0;\n            padding-bottom: 10px;\n            margin-top: 30px;\n            margin-bottom: 20px;\n        }\n\n        h3 {\n            color: #2980b9;\n            margin-top: 20px;\n            margin-bottom: 15px;\n        }\n\n        .description {\n            font-size: 0.9em;\n            color: #666;\n            text-align: center;\n            margin-bottom: 30px;\n            padding: 0 10px;\n        }\n\n        .input-section {\n            margin-bottom: 30px;\n            display: flex;\n            flex-direction: column;\n            gap: 15px;\n        }\n\n        .input-group {\n            display: flex;\n            flex-direction: column; \/* Label and input-field-wrapper stacked vertically *\/\n        }\n\n        .input-group label {\n            margin-bottom: 8px;\n            font-weight: bold;\n            color: #555;\n        }\n        \n        \/* New wrapper for input and unit *\/\n        .input-field-wrapper {\n            display: flex;\n            align-items: center; \/* Vertically align input and unit *\/\n            gap: 8px; \/* Space between input and unit *\/\n            max-width: 400px; \/* Limit the overall width of the input field *\/\n            width: 100%; \/* Ensure it takes available space up to max-width *\/\n        }\n\n        .input-field-wrapper input[type=\"text\"] {\n            flex-grow: 1; \/* Allow input to fill available space within the wrapper *\/\n            padding: 12px;\n            border: 1px solid #ddd;\n            border-radius: 5px;\n            font-size: 1.1em;\n            box-sizing: border-box;\n            transition: border-color 0.3s;\n        }\n\n        .input-field-wrapper input[type=\"text\"]:focus {\n            border-color: #2980b9;\n            outline: none;\n        }\n\n        .input-field-wrapper .unit {\n            font-size: 1.1em; \/* Match input font size *\/\n            color: #777;\n            flex-shrink: 0; \/* Prevent unit from shrinking *\/\n        }\n\n        \/* Button Group Styling *\/\n        .button-group {\n            display: flex;\n            gap: 10px; \/* Space between buttons *\/\n            margin-top: 20px;\n        }\n\n        .button-group button {\n            flex-grow: 1; \/* Make buttons take equal width *\/\n            padding: 15px 20px;\n            border: none;\n            border-radius: 5px;\n            font-size: 1.2em;\n            cursor: pointer;\n            transition: background-color 0.3s ease;\n        }\n\n        .button-group #calculateBtn {\n            background-color: #2980b9;\n            color: white;\n        }\n\n        .button-group #calculateBtn:hover {\n            background-color: #2471a3;\n        }\n\n        .button-group #resetBtn {\n            background-color: #95a5a6; \/* A softer gray for reset *\/\n            color: white;\n        }\n\n        .button-group #resetBtn:hover {\n            background-color: #7f8c8d;\n        }\n\n\n        .result-section {\n            margin-top: 40px;\n            background-color: #eaf2f8;\n            border-radius: 8px;\n            padding: 25px;\n            border: 1px solid #d4e6f1;\n        }\n\n        .result-box {\n            background-color: #ffffff;\n            border: 1px solid #eee;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-radius: 8px;\n            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n        }\n\n        .result-box p {\n            margin-bottom: 10px;\n            font-size: 1.1em;\n        }\n\n        .result-box p:last-child {\n            margin-bottom: 0;\n        }\n\n        .result-box span {\n            font-weight: bold;\n            color: #0d47a1;\n        }\n\n        .result-box .impact-text {\n            font-size: 1em;\n            color: #e74c3c;\n            font-weight: normal;\n            background-color: #ffe0e0;\n            padding: 8px 12px;\n            border-radius: 5px;\n            margin-top: 15px;\n            border: 1px solid #ffbbbb;\n        }\n\n        .result-box .impact-text strong {\n            color: #c0392b;\n            font-size: 1.1em;\n        }\n        \n        \/* Style for the tax calculation disclaimer *\/\n        .result-box .tax-disclaimer-inline {\n            font-size: 0.85em;\n            color: #777;\n            margin-left: 10px;\n            display: inline-block;\n            vertical-align: middle;\n            line-height: 1.2;\n        }\n\n        \/* Specific styling for different tax sections for visual distinction *\/\n        .seller-tax .impact-text { background-color: #fff9e0; border-color: #ffedb3; color: #d35400; }\n        .seller-tax .impact-text strong { color: #e67e22; }\n\n        .buyer-tax .impact-text { background-color: #e0f8f7; border-color: #c0edeb; color: #2ecc71; }\n        .buyer-tax .impact-text strong { color: #27ae60; }\n\n        .acquisition-tax .impact-text { background-color: #f0f4ff; border-color: #d4e0ff; color: #5c6bc0; }\n        .acquisition-tax .impact-text strong { color: #48579d; }\n\n        \/* Responsive design *\/\n        @media (max-width: 600px) {\n            .container {\n                padding: 20px;\n            }\n            h1 {\n                font-size: 1.6em;\n            }\n            .input-group label,\n            .input-group input,\n            .button-group button {\n                font-size: 1em;\n            }\n            .result-box p {\n                font-size: 0.95em;\n            }\n            .input-field-wrapper {\n                max-width: 100%; \/* Adjust for smaller screens *\/\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <h1>\ud2b9\uc218\uad00\uacc4\uc778 \uac70\ub798 \uc138\uae08<\/h1>\n        <p class=\"description\">\n            \uc2dc\uac00 \ub300\ube44 \uc800\uac00 \ub9e4\ub9e4 \uc2dc \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \uc138\ubc95\uc0c1 \ubb38\uc81c(\ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \ub4f1) \uac04\uc811 \uace0\ub824\ud574\ubd05\ub2c8\ub2e4.<br>\n            **\ub9e4\ub3c4\uc778(\uc591\ub3c4\uc18c\ub4dd\uc138)** \ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \uae30\uc900 : \uc2dc\uac00\uc758 5% \ub610\ub294 \ucc28\uc561 3\uc5b5 \uc6d0 \ucd08\uacfc<br>\n            **\ub9e4\uc218\uc778(\uc99d\uc5ec\uc138)** \ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \uae30\uc900 : \uc2dc\uac00\uc758 30% \ub610\ub294 \ucc28\uc561 3\uc5b5 \uc6d0 \ucd08\uacfc<br>\n            \uc2e4\uc81c \uc138\uae08\uc740 \ubc18\ub4dc\uc2dc \uc138\ubb34 \uc804\ubb38\uac00\uc640 \uc0c1\ub2f4\ud558\uc138\uc694.\n        <\/p>\n\n        <div class=\"input-section\">\n            <div class=\"input-group\">\n                <label for=\"transactionPrice\">\uac70\ub798\uac00\uc561 (\uc2e4\uc81c \ub9e4\ub9e4\ub300\uae08):<\/label>\n                <div class=\"input-field-wrapper\">\n                    <input type=\"text\" id=\"transactionPrice\" placeholder=\"\uc608: 700,000,000\">\n                    <span class=\"unit\">\uc6d0<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"marketPrice\">\uc2dc\uac00 (\uc2dc\uac00\uc778\uc815\uc561):<\/label>\n                <div class=\"input-field-wrapper\">\n                    <input type=\"text\" id=\"marketPrice\" placeholder=\"\uc608: 1,000,000,000\">\n                    <span class=\"unit\">\uc6d0<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"acquisitionCost\">\ub9e4\ub3c4\uc778\uc758 \ucde8\ub4dd\uac00\uc561 (\uc591\ub3c4\uc18c\ub4dd\uc138 \uac04\uc774 \uacc4\uc0b0 \ubcf4\uc870):<\/label>\n                <div class=\"input-field-wrapper\">\n                    <input type=\"text\" id=\"acquisitionCost\" placeholder=\"\uc608: 500,000,000\">\n                    <span class=\"unit\">\uc6d0<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"button-group\">\n            <button id=\"calculateBtn\">\uacc4\uc0b0\ud558\uae30<\/button>\n            <button id=\"resetBtn\" class=\"reset-button\">\ucd08\uae30\ud654<\/button>\n        <\/div>\n\n        <div class=\"result-section\">\n            <h2>\uacc4\uc0b0 \uacb0\uacfc<\/h2>\n            <div class=\"result-box\">\n                <p><strong>\uc2dc\uac00\uc640 \uac70\ub798\uac00\uc561\uc758 \ucc28\uc561:<\/strong> <span id=\"priceDifference\">0<\/span> \uc6d0<\/p>\n                <p><strong>\ub9e4\uc218\uc778 \uc99d\uc5ec\uc138 \uae30\uc900 (\uc2dc\uac00\uc758 30%):<\/strong> <span id=\"marketPrice30Percent\">0<\/span> \uc6d0<\/p>\n                <p><strong>\ub9e4\ub3c4\uc778 \uc591\ub3c4\uc138 \uae30\uc900 (\uc2dc\uac00\uc758 5%):<\/strong> <span id=\"marketPrice5Percent\">0<\/span> \uc6d0<\/p>\n                <p><strong>\uacf5\ud1b5 \ubd80\ub2f9\ud589\uc704 \uae30\uc900 \uae08\uc561:<\/strong> <span class=\"common-threshold-amount\">300,000,000<\/span> \uc6d0<\/p>\n                <br>\n                <p><strong>\ub9e4\uc218\uc778 \uc99d\uc5ec\uc138 \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9 \uc5ec\ubd80:<\/strong> <span id=\"isUnfairForBuyerStatus\">\ud574\ub2f9 \uc5c6\uc74c<\/span><\/p>\n                <p class=\"impact-text\"><span id=\"buyerUnfairReasonText\"><\/span><\/p>\n                <br>\n                <p><strong>\ub9e4\ub3c4\uc778 \uc591\ub3c4\uc138 \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9 \uc5ec\ubd80:<\/strong> <span id=\"isUnfairForSellerStatus\">\ud574\ub2f9 \uc5c6\uc74c<\/span><\/p>\n                <p class=\"impact-text\"><span id=\"sellerUnfairReasonText\"><\/span><\/p>\n            <\/div>\n\n            <div class=\"result-box seller-tax\">\n                <h3>\ub9e4\ub3c4\uc778 (\uc591\ub3c4\uc18c\ub4dd\uc138 \uad00\ub828)<\/h3>\n                <p><strong>\uc591\ub3c4\uc138 \ub9e4\ub3c4\uac00\uc561:<\/strong> <span id=\"sellerCapitalGainsBase\">0<\/span> \uc6d0<\/p>\n                <p><strong>\uc591\ub3c4\ucc28\uc775:<\/strong> <span id=\"sellerCapitalGain\">0<\/span> \uc6d0<\/p>\n                <p>\n                    <strong>\uc608\uc0c1 \uc591\ub3c4\uc18c\ub4dd\uc138:<\/strong> <span id=\"estimatedCapitalGainsTax\">0<\/span> \uc6d0 \n                    <span class=\"tax-disclaimer-inline\">\uae30\ubcf8 \uc138\uc728\uc744 \uc801\uc6a9. \uc911\uacfc\uc138, \ube44\uacfc\uc138 \ub4f1\uc740 \uace0\ub824\ud558\uc9c0 \uc54a\uc74c.<\/span>\n                <\/p>\n                <p class=\"impact-text\">\n                    <span id=\"sellerImpactDescription\"><\/span>\n                    <strong id=\"sellerImpactAmount\">0<\/strong> \uc6d0\n                    <span id=\"sellerImpactNote\"><\/span>\n                <\/p>\n            <\/div>\n\n            <div class=\"result-box buyer-tax\">\n                <h3>\ub9e4\uc218\uc778 (\uc99d\uc5ec\uc138 \uad00\ub828)<\/h3>\n                <p><strong>\uc99d\uc5ec \uc774\uc775 (\uacfc\uc138\ub300\uc0c1):<\/strong> <span id=\"buyerGiftTaxableBenefit\">0<\/span> \uc6d0<\/p>\n                <p><strong>\uc608\uc0c1 \uc99d\uc5ec\uc138:<\/strong> <span id=\"estimatedGiftTax\">0<\/span> \uc6d0<\/p>\n                <p class=\"impact-text\">\n                    <span id=\"buyerGiftTaxNote\"><\/span>\n                <\/p>\n            <\/div>\n\n            <div class=\"result-box acquisition-tax\">\n                <h3>\ub9e4\uc218\uc778 (\ucde8\ub4dd\uc138 \uacfc\uc138\ud45c\uc900)<\/h3>\n                <p><strong>\ucde8\ub4dd\uc138 \uacfc\uc138\ud45c\uc900:<\/strong> <span id=\"buyerAcquisitionTaxBase\">0<\/span> \uc6d0<\/p>\n                <p class=\"impact-text\">\n                    <span id=\"buyerAcquisitionTaxNote\"><\/span>\n                <\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', () => {\n            const transactionPriceInput = document.getElementById('transactionPrice');\n            const marketPriceInput = document.getElementById('marketPrice');\n            const acquisitionCostInput = document.getElementById('acquisitionCost');\n\n            const calculateBtn = document.getElementById('calculateBtn');\n            const resetBtn = document.getElementById('resetBtn'); \/\/ Get the new reset button\n\n            const priceDifferenceSpan = document.getElementById('priceDifference');\n            const marketPrice30PercentSpan = document.getElementById('marketPrice30Percent');\n            const marketPrice5PercentSpan = document.getElementById('marketPrice5Percent');\n            \n            const isUnfairForBuyerStatusSpan = document.getElementById('isUnfairForBuyerStatus');\n            const buyerUnfairReasonTextSpan = document.getElementById('buyerUnfairReasonText');\n            const isUnfairForSellerStatusSpan = document.getElementById('isUnfairForSellerStatus');\n            const sellerUnfairReasonTextSpan = document.getElementById('sellerUnfairReasonText');\n\n            const sellerCapitalGainsBaseSpan = document.getElementById('sellerCapitalGainsBase');\n            const sellerCapitalGainSpan = document.getElementById('sellerCapitalGain');\n            const estimatedCapitalGainsTaxSpan = document.getElementById('estimatedCapitalGainsTax');\n            const sellerImpactDescriptionSpan = document.getElementById('sellerImpactDescription');\n            const sellerImpactAmountSpan = document.getElementById('sellerImpactAmount');\n            const sellerImpactNoteSpan = document.getElementById('sellerImpactNote');\n\n            const buyerGiftTaxableBenefitSpan = document.getElementById('buyerGiftTaxableBenefit');\n            const estimatedGiftTaxSpan = document.getElementById('estimatedGiftTax');\n            const buyerGiftTaxNoteSpan = document.getElementById('buyerGiftTaxNote');\n\n            const buyerAcquisitionTaxBaseSpan = document.getElementById('buyerAcquisitionTaxBase');\n            const buyerAcquisitionTaxNoteSpan = document.getElementById('buyerAcquisitionTaxNote');\n\n            \/\/ \uc591\ub3c4\uc18c\ub4dd\uc138\uc728 \ud14c\uc774\ube14\n            const CAPITAL_GAINS_TAX_RATES = [\n                { min: 0, max: 12_000_000, rate: 0.06, deduction: 0 },\n                { min: 12_000_000, max: 46_000_000, rate: 0.15, deduction: 1_080_000 },\n                { min: 46_000_000, max: 88_000_000, rate: 0.24, deduction: 5_220_000 },\n                { min: 88_000_000, max: 150_000_000, rate: 0.35, deduction: 14_900_000 },\n                { min: 150_000_000, max: 300_000_000, rate: 0.38, deduction: 19_400_000 },\n                { min: 300_000_000, max: 500_000_000, rate: 0.40, deduction: 25_400_000 },\n                { min: 500_000_000, max: 1_000_000_000, rate: 0.42, deduction: 35_400_000 },\n                { min: 1_000_000_000, max: Infinity, rate: 0.45, deduction: 65_400_000 }\n            ];\n\n            \/\/ \uc99d\uc5ec\uc138\uc728 \ud14c\uc774\ube14\n            const GIFT_TAX_RATES = [\n                { min: 0, max: 100_000_000, rate: 0.10, deduction: 0 },\n                { min: 100_000_000, max: 500_000_000, rate: 0.20, deduction: 10_000_000 },\n                { min: 500_000_000, max: 1_000_000_000, rate: 0.30, deduction: 60_000_000 },\n                { min: 1_000_000_000, max: 3_000_000_000, rate: 0.40, deduction: 160_000_000 },\n                { min: 3_000_000_000, max: Infinity, rate: 0.50, deduction: 460_000_000 }\n            ];\n\n            \/\/ \ub204\uc9c4\uacf5\uc81c \ubc29\uc2dd\uc758 \uc138\uae08 \uacc4\uc0b0 \ud568\uc218\n            const calculateProgressiveTax = (taxableAmount, rateTable) => {\n                if (taxableAmount <= 0) {\n                    return 0;\n                }\n\n                for (let i = 0; i < rateTable.length; i++) {\n                    const tier = rateTable[i];\n                    if (taxableAmount > tier.min && taxableAmount <= tier.max) {\n                        return (taxableAmount * tier.rate) - tier.deduction;\n                    }\n                }\n                return 0; \/\/ Fallback, should not be reached with Infinity max\n            };\n\n\n            \/\/ \uc22b\uc790\ub97c \uc6d0\ud654 \ud615\uc2dd\uc73c\ub85c \ud3ec\ub9f7\ud305\ud558\ub294 \ud568\uc218\n            const formatCurrency = (number) => {\n                if (isNaN(number)) return '0';\n                return number.toLocaleString('ko-KR');\n            };\n\n            \/\/ \uc785\ub825 \ud544\ub4dc\uc758 \ucf64\ub9c8\ub97c \uc81c\uac70\ud558\uace0 \uc22b\uc790\ub85c \ubcc0\ud658\ud558\ub294 \ud568\uc218\n            const parseNumberInput = (inputElement) => {\n                const cleanedValue = inputElement.value.replace(\/[^0-9]\/g, ''); \/\/ \uc22b\uc790 \uc774\uc678\uc758 \ubb38\uc790 \uc81c\uac70 (\ucf64\ub9c8 \ud3ec\ud568)\n                return parseFloat(cleanedValue);\n            };\n\n            \/\/ \ucf64\ub9c8 \ud3ec\ub9e4\ud305 \ubc0f \uc785\ub825 \ud544\ub4dc \uc5c5\ub370\uc774\ud2b8 \ud568\uc218\n            const applyCommaFormatting = (inputElement) => {\n                let value = inputElement.value;\n                const cursorPosition = inputElement.selectionStart;\n                const originalLength = value.length;\n\n                const cleanedValue = value.replace(\/[^0-9]\/g, ''); \/\/ \uc22b\uc790 \uc774\uc678\uc758 \ubb38\uc790 \uc81c\uac70\n                let numberValue = parseInt(cleanedValue, 10);\n\n                if (isNaN(numberValue) || cleanedValue === '') { \/\/ \uc785\ub825 \uac12\uc774 \ube44\uc5b4\uc788\uac70\ub098 \uc22b\uc790\uac00 \uc544\ub2c8\uba74 \ube48 \ubb38\uc790\uc5f4 \ucc98\ub9ac\n                    inputElement.value = '';\n                    return;\n                }\n                \n                const formattedValue = numberValue.toLocaleString('ko-KR');\n                inputElement.value = formattedValue;\n\n                const newLength = formattedValue.length;\n                const offset = newLength - originalLength;\n                inputElement.setSelectionRange(cursorPosition + offset, cursorPosition + offset);\n            };\n\n            \/\/ \ubaa8\ub4e0 \uad00\ub828 \uc785\ub825 \ud544\ub4dc\uc5d0 \ucf64\ub9c8 \ud3ec\ub9e4\ud305 \uc774\ubca4\ud2b8 \ub9ac\uc2a4\ub108 \ucd94\uac00\n            transactionPriceInput.addEventListener('input', (event) => applyCommaFormatting(event.target));\n            marketPriceInput.addEventListener('input', (event) => applyCommaFormatting(event.target));\n            acquisitionCostInput.addEventListener('input', (event) => applyCommaFormatting(event.target));\n\n            \/\/ \ud398\uc774\uc9c0 \ub85c\ub4dc \uc2dc, \uc774\ubbf8 \uc785\ub825\ub41c \uac12\uc774 \uc788\ub2e4\uba74 \ucf64\ub9c8 \ud3ec\ub9e4\ud305 \uc801\uc6a9\n            if (transactionPriceInput.value) applyCommaFormatting(transactionPriceInput);\n            if (marketPriceInput.value) applyCommaFormatting(marketPriceInput);\n            if (acquisitionCostInput.value) applyCommaFormatting(acquisitionCostInput);\n\n\n            calculateBtn.addEventListener('click', () => {\n                const transactionPrice = parseNumberInput(transactionPriceInput);\n                const marketPrice = parseNumberInput(marketPriceInput);\n                const acquisitionCost = parseNumberInput(acquisitionCostInput);\n\n                \/\/ \uc720\ud6a8\uc131 \uac80\uc0ac\n                if (isNaN(transactionPrice) || isNaN(marketPrice) || transactionPrice <= 0 || marketPrice <= 0) {\n                    alert('\uac70\ub798\uac00\uc561\uacfc \uc2dc\uac00\ub294 0\ubcf4\ub2e4 \ud070 \uc22b\uc790\ub85c \uc815\ud655\ud788 \uc785\ub825\ud574\uc8fc\uc138\uc694.');\n                    return;\n                }\n\n                \/\/ \uc138\ubc95 \uae30\uc900 \uc0c1\uc218 \uc815\uc758\n                const BUYER_UNFAIR_TRANSACTION_THRESHOLD_RATIO = 0.3; \/\/ \ub9e4\uc218\uc778 \uc99d\uc5ec\uc138 (30%)\n                const SELLER_UNFAIR_TRANSACTION_THRESHOLD_RATIO = 0.05; \/\/ \ub9e4\ub3c4\uc778 \uc591\ub3c4\uc138 (5%)\n                const COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT = 300_000_000; \/\/ \uacf5\ud1b5 3\uc5b5\uc6d0 \uae30\uc900\n                const ACQUISITION_TAX_THRESHOLD_RATIO = 0.05; \/\/ \ucde8\ub4dd\uc138 5%\n\n                \/\/ \uacf5\ud1b5 \ucc28\uc561 \ubc0f \uae30\uc900\uc561 \uacc4\uc0b0\n                const priceDifference = Math.abs(transactionPrice - marketPrice);\n                const marketPrice30Percent = marketPrice * BUYER_UNFAIR_TRANSACTION_THRESHOLD_RATIO;\n                const marketPrice5Percent = marketPrice * SELLER_UNFAIR_TRANSACTION_THRESHOLD_RATIO;\n\n                \/\/ \uacb0\uacfc \uc601\uc5ed \uc5c5\ub370\uc774\ud2b8 - \uacf5\ud1b5 \uc815\ubcf4\n                priceDifferenceSpan.textContent = formatCurrency(priceDifference);\n                marketPrice30PercentSpan.textContent = formatCurrency(marketPrice30Percent);\n                marketPrice5PercentSpan.textContent = formatCurrency(marketPrice5Percent);\n                \n                \/\/ 1. \ub9e4\uc218\uc778 (\uc99d\uc5ec\uc138) \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9 \uc5ec\ubd80 \ud310\ub2e8\n                const isUnfairForBuyer = (priceDifference >= marketPrice30Percent) || (priceDifference >= COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT);\n                let buyerUnfairReason = '';\n                if (isUnfairForBuyer) {\n                    const criteriaMet = [];\n                    if (priceDifference >= marketPrice30Percent) {\n                        criteriaMet.push(`\uc2dc\uac00\uc758 30%(${formatCurrency(marketPrice30Percent)}\uc6d0)`);\n                    }\n                    if (priceDifference >= COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT) {\n                        criteriaMet.push(`3\uc5b5\uc6d0(${formatCurrency(COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT)}\uc6d0)`);\n                    }\n                    buyerUnfairReason = `\ucc28\uc561(${formatCurrency(priceDifference)}\uc6d0)\uc774 ${criteriaMet.join(' \ub610\ub294 ')}\uc744(\ub97c) \ucd08\uacfc\ud558\ubbc0\ub85c \ud574\ub2f9\ud569\ub2c8\ub2e4.`;\n                } else {\n                    buyerUnfairReason = `\ucc28\uc561(${formatCurrency(priceDifference)}\uc6d0)\uc774 \uc2dc\uac00\uc758 30%(${formatCurrency(marketPrice30Percent)}\uc6d0)\uc640 3\uc5b5\uc6d0(${formatCurrency(COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT)}\uc6d0) \uae30\uc900 \ubaa8\ub450\uc5d0 \ubbf8\ub2ec\ud558\ubbc0\ub85c \ud574\ub2f9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.`;\n                }\n                isUnfairForBuyerStatusSpan.textContent = isUnfairForBuyer ? '\ud574\ub2f9\ud568' : '\ud574\ub2f9 \uc5c6\uc74c';\n                isUnfairForBuyerStatusSpan.style.color = isUnfairForBuyer ? '#c0392b' : '#27ae60';\n                buyerUnfairReasonTextSpan.textContent = buyerUnfairReason;\n\n\n                \/\/ 2. \ub9e4\ub3c4\uc778 (\uc591\ub3c4\uc18c\ub4dd\uc138) \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9 \uc5ec\ubd80 \ud310\ub2e8\n                const isUnfairForSeller = (priceDifference >= marketPrice5Percent) || (priceDifference >= COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT);\n                let sellerUnfairReason = '';\n                if (isUnfairForSeller) {\n                    const criteriaMet = [];\n                    if (priceDifference >= marketPrice5Percent) {\n                        criteriaMet.push(`\uc2dc\uac00\uc758 5%(${formatCurrency(marketPrice5Percent)}\uc6d0)`);\n                    }\n                    if (priceDifference >= COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT) {\n                        criteriaMet.push(`3\uc5b5\uc6d0(${formatCurrency(COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT)}\uc6d0)`);\n                    }\n                    sellerUnfairReason = `\ucc28\uc561(${formatCurrency(priceDifference)}\uc6d0)\uc774 ${criteriaMet.join(' \ub610\ub294 ')}\uc744(\ub97c) \ucd08\uacfc\ud558\ubbc0\ub85c \ud574\ub2f9\ud569\ub2c8\ub2e4.`;\n                } else {\n                    sellerUnfairReason = `\ucc28\uc561(${formatCurrency(priceDifference)}\uc6d0)\uc774 \uc2dc\uac00\uc758 5%(${formatCurrency(marketPrice5Percent)}\uc6d0)\uc640 3\uc5b5\uc6d0(${formatCurrency(COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT)}\uc6d0) \uae30\uc900 \ubaa8\ub450\uc5d0 \ubbf8\ub2ec\ud558\ubbc0\ub85c \ud574\ub2f9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.`;\n                }\n                isUnfairForSellerStatusSpan.textContent = isUnfairForSeller ? '\ud574\ub2f9\ud568' : '\ud574\ub2f9 \uc5c6\uc74c';\n                isUnfairForSellerStatusSpan.style.color = isUnfairForSeller ? '#c0392b' : '#27ae60';\n                sellerUnfairReasonTextSpan.textContent = sellerUnfairReason;\n\n\n                \/\/ 3. \ub9e4\ub3c4\uc778 (\uc591\ub3c4\uc18c\ub4dd\uc138) \uacfc\uc138 \uad00\ub828 \uacb0\uacfc\n                let sellerCapitalGainsBase = transactionPrice; \/\/ \uae30\ubcf8\uc740 \uac70\ub798\uac00\uc561\n                let sellerImpactAmount = 0; \/\/ \uc2dc\uac00 \uc801\uc6a9 \uc2dc \ub298\uc5b4\ub098\ub294 \uc591\ub3c4\ucc28\uc561\n                let sellerImpactDescription = '';\n                let currentCapitalGain = 0; \/\/ \uc591\ub3c4\ucc28\uc775 \ud45c\uc2dc\uc6a9\n                let estimatedCapitalGainsTax = 0; \/\/ \uc608\uc0c1 \uc591\ub3c4\uc18c\ub4dd\uc138\n\n                if (isUnfairForSeller) {\n                    sellerCapitalGainsBase = marketPrice; \/\/ \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9 \uc2dc \uc2dc\uac00 \uc801\uc6a9\n                    sellerImpactDescription = `\uc591\ub3c4\uc138 \ub9e4\ub3c4\uac00\uc561\uc740 \uc2dc\uac00 ${formatCurrency(marketPrice)}\uc6d0\uc744 \uae30\uc900\uc73c\ub85c \uacfc\uc138\ub429\ub2c8\ub2e4. (\uc2e4\uc81c \uac70\ub798\uac00\uc561 ${formatCurrency(transactionPrice)}\uc6d0)`;\n                    sellerImpactAmount = marketPrice - transactionPrice; \/\/ \uc2e4\uc81c \ubc1b\uc740 \ub3c8\ubcf4\ub2e4 \ub354 \ub9ce\uc740 \uae08\uc561\uc5d0 \ub300\ud574 \uacfc\uc138\n                    sellerImpactNote.textContent = `\uc774\ub294 \uc2e4\uc81c \ubc1b\uc740 \ub9e4\ub9e4\ub300\uae08\ubcf4\ub2e4 ${formatCurrency(sellerImpactAmount)}\uc6d0 \ub354 \ub9ce\uc740 \uae08\uc561\uc5d0 \ub300\ud574 \uc591\ub3c4\uc18c\ub4dd\uc138\uac00 \ubd80\uacfc\ub428\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.`;\n                } else {\n                    sellerCapitalGainsBase = transactionPrice; \/\/ \ubd80\ub2f9\ud589\uc704 \ud574\ub2f9\ud558\uc9c0 \uc54a\uc73c\uba74 \uac70\ub798\uac00\uc561 \uc801\uc6a9\n                    sellerImpactDescription = `\uc591\ub3c4\uc138 \ub9e4\ub3c4\uac00\uc561\uc740 \uac70\ub798\uac00\uc561 ${formatCurrency(transactionPrice)}\uc6d0\uc744 \uae30\uc900\uc73c\ub85c \uacfc\uc138\ub429\ub2c8\ub2e4. (\uc2dc\uac00 ${formatCurrency(marketPrice)}\uc6d0)`;\n                    sellerImpactAmount = 0; \/\/ \ucd94\uac00 \uacfc\uc138 \uae08\uc561 \uc5c6\uc74c\n                    sellerImpactNote.textContent = `\uc774 \uac70\ub798\ub294 \ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778\uc5d0 \ud574\ub2f9\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c, \uc591\ub3c4\uc138 \uacfc\uc138\ud45c\uc900\uc5d0 \ubcc0\ub3d9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.`;\n                }\n                sellerCapitalGainsBaseSpan.textContent = formatCurrency(sellerCapitalGainsBase);\n                sellerImpactDescriptionSpan.textContent = sellerImpactDescription;\n                sellerImpactAmountSpan.textContent = formatCurrency(sellerImpactAmount);\n                \n                \/\/ \uc591\ub3c4\ucc28\uc775 \uac04\uc774 \uacc4\uc0b0 (\ub9e4\ub3c4\uc778\uc758 \ucde8\ub4dd\uac00\uc561 \uc785\ub825 \uc2dc)\n                if (!isNaN(acquisitionCost) && acquisitionCost >= 0) { \/\/ \ucde8\ub4dd\uac00\uc561\uc774 \uc720\ud6a8\ud55c \uacbd\uc6b0\ub9cc \uacc4\uc0b0\n                    currentCapitalGain = sellerCapitalGainsBase - acquisitionCost;\n                    currentCapitalGain = Math.max(0, currentCapitalGain); \/\/ \uc591\ub3c4\ucc28\uc775\uc774 \uc74c\uc218\uc77c \uacbd\uc6b0 0\uc73c\ub85c \ucc98\ub9ac\n                    \n                    \/\/ \uc591\ub3c4\uc18c\ub4dd\uc138 \uacc4\uc0b0\n                    if (currentCapitalGain > 0) {\n                        estimatedCapitalGainsTax = calculateProgressiveTax(currentCapitalGain, CAPITAL_GAINS_TAX_RATES);\n                    }\n                } else {\n                    currentCapitalGain = 0;\n                    estimatedCapitalGainsTax = 0;\n                }\n                sellerCapitalGainSpan.textContent = formatCurrency(currentCapitalGain); \/\/ \uc591\ub3c4\ucc28\uc775 \ud544\ub4dc \uc5c5\ub370\uc774\ud2b8\n                estimatedCapitalGainsTaxSpan.textContent = formatCurrency(estimatedCapitalGainsTax);\n\n\n                \/\/ 4. \ub9e4\uc218\uc778 (\uc99d\uc5ec\uc138) \uacfc\uc138 \uad00\ub828 \uacb0\uacfc\n                let buyerGiftTaxableBenefit = 0;\n                let estimatedGiftTax = 0; \/\/ \uc608\uc0c1 \uc99d\uc5ec\uc138\n                let buyerGiftTaxNote = '\ub9e4\uc218\uc778\uc5d0\uac8c \uc99d\uc5ec\uc138 \uacfc\uc138\ub300\uc0c1 \uc774\uc775\uc774 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.';\n\n                if (isUnfairForBuyer) {\n                    const deductionAmount = Math.min(marketPrice30Percent, COMMON_UNFAIR_TRANSACTION_THRESHOLD_AMOUNT);\n                    buyerGiftTaxableBenefit = priceDifference - deductionAmount;\n                    buyerGiftTaxableBenefit = Math.max(0, buyerGiftTaxableBenefit); \/\/ \uc74c\uc218\uac00 \ub098\uc624\uc9c0 \uc54a\ub3c4\ub85d\n\n                    if (buyerGiftTaxableBenefit > 0) {\n                        estimatedGiftTax = calculateProgressiveTax(buyerGiftTaxableBenefit, GIFT_TAX_RATES);\n                        buyerGiftTaxNote = `\ub9e4\uc218\uc790\ub294 \uc2dc\uac00(${formatCurrency(marketPrice)}\uc6d0)\ubcf4\ub2e4 \ub0ae\uc740 \uac00\uaca9(${formatCurrency(transactionPrice)}\uc6d0)\uc73c\ub85c \ucde8\ub4dd\ud558\uc5ec ${formatCurrency(buyerGiftTaxableBenefit)}\uc6d0\uc758 \uc774\uc775\uc744 \uc5bb\uc740 \uac83\uc73c\ub85c \uac04\uc8fc\ub418\uc5b4 \uc99d\uc5ec\uc138\uac00 \ubd80\uacfc\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. (\uc99d\uc5ec\uc138 \uacfc\uc138 \uc81c\uc678 \uae08\uc561: ${formatCurrency(deductionAmount)}\uc6d0)`;\n                    } else {\n                        estimatedGiftTax = 0;\n                        buyerGiftTaxNote = `\uc99d\uc5ec\uc138 \uacfc\uc138 \uc694\uac74\uc5d0\ub294 \ud574\ub2f9\ud558\ub098, \uacf5\uc81c\uae08\uc561(${formatCurrency(deductionAmount)}\uc6d0)\uc73c\ub85c \uc778\ud574 \uc99d\uc5ec \uc774\uc775\uc774 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.`;\n                    }\n                }\n                buyerGiftTaxableBenefitSpan.textContent = formatCurrency(buyerGiftTaxableBenefit);\n                estimatedGiftTaxSpan.textContent = formatCurrency(estimatedGiftTax);\n                buyerGiftTaxNoteSpan.textContent = buyerGiftTaxNote + ` ${buyerUnfairReason}`; \/\/ \uc99d\uc5ec\uc138 \uad00\ub828 \uc0ac\uc720 \ucd94\uac00\n\n                \/\/ 5. \ub9e4\uc218\uc778 (\ucde8\ub4dd\uc138) \uacfc\uc138\ud45c\uc900\n                let buyerAcquisitionTaxBase = transactionPrice;\n                let buyerAcquisitionTaxNote = `\uac70\ub798\uac00\uc561(${formatCurrency(transactionPrice)}\uc6d0)\uc744 \uae30\uc900\uc73c\ub85c \ucde8\ub4dd\uc138\uac00 \ubd80\uacfc\ub429\ub2c8\ub2e4.`;\n\n                const acquisitionTaxDifferenceRatio = priceDifference \/ marketPrice;\n\n                if (acquisitionTaxDifferenceRatio >= ACQUISITION_TAX_THRESHOLD_RATIO) {\n                    buyerAcquisitionTaxBase = marketPrice;\n                    buyerAcquisitionTaxNote = `\uc2dc\uac00\uc640 \uac70\ub798\uac00\uc561\uc758 \ucc28\uc774(${formatCurrency(priceDifference)}\uc6d0, \uc2dc\uac00 \ub300\ube44 ${Math.round(acquisitionTaxDifferenceRatio * 10000) \/ 100}%)\uac00 5% \uc774\uc0c1\uc774\ubbc0\ub85c, \uc2dc\uac00(${formatCurrency(marketPrice)}\uc6d0)\ub97c \uae30\uc900\uc73c\ub85c \ucde8\ub4dd\uc138\uac00 \ubd80\uacfc\ub429\ub2c8\ub2e4.`;\n                } else {\n                    buyerAcquisitionTaxNote = `\uc2dc\uac00\uc640 \uac70\ub798\uac00\uc561\uc758 \ucc28\uc774(${formatCurrency(priceDifference)}\uc6d0, \uc2dc\uac00 \ub300\ube44 ${Math.round(acquisitionTaxDifferenceRatio * 10000) \/ 100}%)\uac00 5% \ubbf8\ub9cc\uc774\ubbc0\ub85c, \uac70\ub798\uac00\uc561(${formatCurrency(transactionPrice)}\uc6d0)\uc744 \uae30\uc900\uc73c\ub85c \ucde8\ub4dd\uc138\uac00 \ubd80\uacfc\ub429\ub2c8\ub2e4.`;\n                }\n                buyerAcquisitionTaxBaseSpan.textContent = formatCurrency(buyerAcquisitionTaxBase);\n                buyerAcquisitionTaxNoteSpan.textContent = buyerAcquisitionTaxNote;\n            });\n\n            \/\/ Reset button functionality\n            resetBtn.addEventListener('click', () => {\n                \/\/ Reset input fields\n                transactionPriceInput.value = '';\n                marketPriceInput.value = '';\n                acquisitionCostInput.value = '';\n\n                \/\/ Reset common results\n                priceDifferenceSpan.textContent = '0';\n                marketPrice30PercentSpan.textContent = '0';\n                marketPrice5PercentSpan.textContent = '0';\n                \/\/ common-threshold-amount span is static, no need to reset its content\n\n                \/\/ Reset status indicators and reasons\n                isUnfairForBuyerStatusSpan.textContent = '\ud574\ub2f9 \uc5c6\uc74c';\n                isUnfairForBuyerStatusSpan.style.color = '#27ae60'; \/\/ Default green\n                buyerUnfairReasonTextSpan.textContent = '';\n\n                isUnfairForSellerStatusSpan.textContent = '\ud574\ub2f9 \uc5c6\uc74c';\n                isUnfairForSellerStatusSpan.style.color = '#27ae60'; \/\/ Default green\n                sellerUnfairReasonTextSpan.textContent = '';\n\n                \/\/ Reset seller tax results\n                sellerCapitalGainsBaseSpan.textContent = '0';\n                sellerCapitalGainSpan.textContent = '0';\n                estimatedCapitalGainsTaxSpan.textContent = '0';\n                sellerImpactDescriptionSpan.textContent = '';\n                sellerImpactAmountSpan.textContent = '0';\n                sellerImpactNoteSpan.textContent = '';\n\n                \/\/ Reset buyer tax results\n                buyerGiftTaxableBenefitSpan.textContent = '0';\n                estimatedGiftTaxSpan.textContent = '0';\n                buyerGiftTaxNoteSpan.textContent = '';\n\n                \/\/ Reset acquisition tax results\n                buyerAcquisitionTaxBaseSpan.textContent = '0';\n                buyerAcquisitionTaxNoteSpan.textContent = '';\n            });\n        });\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\ud2b9\uc218\uad00\uacc4\uc778 \uac70\ub798 \uc138\uae08\uacc4\uc0b0\uae30 \ud2b9\uc218\uad00\uacc4\uc778 \uac70\ub798 \uc138\uae08 \uc2dc\uac00 \ub300\ube44 \uc800\uac00 \ub9e4\ub9e4 \uc2dc \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \uc138\ubc95\uc0c1 \ubb38\uc81c(\ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \ub4f1) \uac04\uc811 \uace0\ub824\ud574\ubd05\ub2c8\ub2e4. **\ub9e4\ub3c4\uc778(\uc591\ub3c4\uc18c\ub4dd\uc138)** \ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \uae30\uc900 : \uc2dc\uac00\uc758 5% \ub610\ub294 \ucc28\uc561 3\uc5b5 \uc6d0 \ucd08\uacfc **\ub9e4\uc218\uc778(\uc99d\uc5ec\uc138)** \ubd80\ub2f9\ud589\uc704\uacc4\uc0b0 \ubd80\uc778 \uae30\uc900 : \uc2dc\uac00\uc758 30% \ub610\ub294 \ucc28\uc561 3\uc5b5 \uc6d0 \ucd08\uacfc \uc2e4\uc81c \uc138\uae08\uc740 \ubc18\ub4dc\uc2dc \uc138\ubb34 \uc804\ubb38\uac00\uc640 \uc0c1\ub2f4\ud558\uc138\uc694. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/template-pagebuilder-full-width.php","meta":{"footnotes":""},"class_list":["post-14435","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/pages\/14435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14435"}],"version-history":[{"count":3,"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/pages\/14435\/revisions"}],"predecessor-version":[{"id":14438,"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=\/wp\/v2\/pages\/14435\/revisions\/14438"}],"wp:attachment":[{"href":"https:\/\/chois2080.mycafe24.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}