{"id":8,"date":"2026-08-06T04:04:33","date_gmt":"2026-08-06T04:04:33","guid":{"rendered":"http:\/\/fatepoint.net\/mingpei\/"},"modified":"2026-08-11T00:15:52","modified_gmt":"2026-08-11T00:15:52","slug":"mingpei","status":"publish","type":"page","link":"https:\/\/fatepoint.net\/en\/mingpei\/","title":{"rendered":"Name Compatibility"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8\" class=\"elementor elementor-8\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fpsec8a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fpsec8a\" 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-fpcol8b\" data-id=\"fpcol8b\" 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-fpwid8c elementor-widget elementor-widget-shortcode\" data-id=\"fpwid8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\n  \/* ===================================================================\n     \u5408\u5a5a\u9801 \u2014 2026-08 \u8d77\u6bd4\u7167\u65b0\u7248\u300c\u516b\u5b57\u8ad6\u547d\u300d\uff08bazi-mingpan \u5916\u639b\uff09\u7684\n     UI \u8a2d\u8a08\uff1a860px \u7a84\u7248\u5bb9\u5668\u3001\u7c73\u8272\u5713\u89d2\u5361\u7247\uff08#fffef9\uff0f#e6dcc0\uff09\u3001\n     \u6697\u7d05\u8272\u6a19\u984c\u5217\u8207\u6309\u9215\uff08#8b1a1a\uff09\u3001\u884c\u5167\u8868\u55ae\u5217\u3001\u7532\u4e59\u96d9\u65b9 fieldset\u3001\n     \u5713\u5f62\u8a55\u5206\u6846\u3001\u4e94\u884c\u5c08\u7528\u8272\u3002\u6a23\u5f0f token \u53d6\u81ea\u5916\u639b assets\/bazi.css\n     \uff08\u7ad9\u65b9\u81ea\u6709\u7a0b\u5f0f\u78bc\uff09\uff0c\u6b64\u8655\u70ba\u7368\u7acb\u526f\u672c\u3001scoped \u5728 .bazi-app \u5e95\u4e0b\u3002\n     \u9802\u6b04\/\u5c0e\u89bd\/\u9801\u5c3e\u6a23\u5f0f\u7531\u5168\u7ad9 style.css \u4f9b\u61c9\uff0c\u4e0d\u518d\u65bc\u6b64\u91cd\u8907\u3002\n  =================================================================== *\/\n\n  \/* \u8dd1\u99ac\u71c8\uff08\u6cbf\u7528\u539f\u6a23\u5f0f\uff1b\u5168\u7ad9 style.css \u672a\u542b\u6b64\u5143\u4ef6\uff09 *\/\n  .marquee{background:#fdf1e7;color:#c0392b;font-size:13px;}\n  .marquee-inner{max-width:1200px;margin:0 auto;padding:8px 20px;display:flex;gap:10px;align-items:center;}\n  .marquee .tag{background:#c0392b;color:#fff;border-radius:4px;padding:2px 8px;font-size:12px;flex-shrink:0;}\n  .marquee-track-wrap{flex:1;overflow:hidden;height:18px;}\n  .marquee-track{display:flex;flex-direction:column;animation:marquee-vertical 9s ease-in-out infinite;}\n  .marquee-track:hover{animation-play-state:paused;}\n  .marquee-track span{height:18px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}\n  @keyframes marquee-vertical{\n    0%,5%{transform:translateY(0);}\n    25%,30%{transform:translateY(-18px);}\n    50%,55%{transform:translateY(-36px);}\n    75%,100%{transform:translateY(-54px);}\n  }\n\n  \/* \u57fa\u790e\u5bb9\u5668\u8207\u8868\u55ae\uff08\u6bd4\u7167 bazi-mingpan\uff09 *\/\n  .bazi-app{max-width:860px;margin:0 auto;padding:0 14px;font-size:16px;line-height:1.7;}\n  .bazi-app .bazi-page-title{font-size:26px;font-weight:700;color:#8b1a1a;letter-spacing:.15em;text-align:center;margin:26px 0 6px;}\n  .bazi-app .bazi-tagline{display:block;text-align:center;color:#8b5a00;font-size:13px;margin-bottom:14px;}\n  .bazi-app .bazi-row{display:flex;flex-wrap:wrap;gap:.6em 1.2em;align-items:center;margin:.6em 0;}\n  .bazi-app label{display:inline-flex;align-items:center;gap:.35em;}\n  .bazi-app input[type=\"number\"],.bazi-app input[type=\"text\"],.bazi-app select{\n    padding:.3em .5em;border:1px solid #c9b98f;border-radius:6px;background:#fffdf7;font-size:1em;}\n  .bazi-app input[type=\"text\"]{width:6.5em;}\n  .bazi-app input[type=\"number\"]{width:4.5em;}\n  .bazi-app input.hh-year{width:6em;}\n  .bazi-btn{display:inline-block;padding:.55em 2.4em;border:0;border-radius:8px;cursor:pointer;\n    background:#8b1a1a;color:#fff;font-size:1.05em;letter-spacing:.3em;text-indent:.3em;}\n  .bazi-btn:hover{background:#a52a2a;}\n  .bazi-err{color:#b00020;font-weight:bold;}\n  .bazi-sec{border:1px solid #e6dcc0;border-radius:10px;background:#fffef9;padding:.8em 1.1em;margin-top:1em;}\n  .bazi-sec h3{margin:0 0 .5em;font-size:1.05em;color:#8b1a1a;border-left:4px solid #8b1a1a;padding-left:.5em;}\n  .bazi-note{color:#999;font-size:.85em;margin:.3em 0 0;}\n  .bazi-hehun-side{border:1px solid #e6dcc0;border-radius:10px;margin:.6em 0;padding:.4em .9em .7em;}\n  .bazi-hehun-side legend{color:#8b1a1a;font-weight:700;padding:0 .4em;}\n  .free-tag{display:inline-block;font-weight:normal;font-size:.75em;color:#2e7d32;}\n\n  \/* \u5206\u9801\u5207\u63db\uff08\u516b\u5b57\u5408\u5a5a\uff0f\u59d3\u540d\u5408\u5a5a\uff09 *\/\n  .mp-tabs{display:flex;gap:12px;justify-content:center;max-width:860px;margin:18px auto 0;padding:0 14px;}\n  .mp-tab{flex:1;max-width:300px;padding:11px 16px;border-radius:10px;font-size:16px;font-weight:bold;cursor:pointer;text-align:center;\n    border:1px solid #d8c9a3;color:#6d4c41;background:#fffdf7;transition:.15s;}\n  .mp-tab:hover{border-color:#8b1a1a;}\n  .mp-tab .mp-tab-sub{display:block;font-size:11px;font-weight:normal;opacity:.85;margin-top:2px;}\n  .mp-tab.active{background:#8b1a1a;color:#fff;border-color:#8b1a1a;box-shadow:0 3px 10px rgba(139,26,26,.25);}\n  .mp-tab .badge-new{display:inline-block;background:#c62828;color:#fff;font-size:10px;font-weight:bold;padding:1px 7px;border-radius:9px;margin-left:6px;vertical-align:2px;}\n  .mp-tab.active .badge-new{background:#fff;color:#8b1a1a;}\n  @media(max-width:700px){ .mp-tabs{flex-direction:column;align-items:stretch;} .mp-tab{max-width:none;} }\n\n  \/* \u4e94\u683c\u65b9\u683c\u8207\u4e09\u624d *\/\n  .person-block{margin-bottom:16px;}\n  .person-block h5{font-size:1em;color:#6d4c41;margin:0 0 8px;font-weight:700;}\n  .wuge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px;}\n  .wuge-item{background:#fffdf7;border:1px solid #d8c9a3;border-radius:8px;padding:8px 4px;text-align:center;}\n  .wuge-item .wuge-label{font-size:11px;color:#999;}\n  .wuge-item .wuge-num{font-size:18px;font-weight:bold;color:#333;margin:2px 0;}\n  .wuge-item .wuge-tag{font-size:11px;font-weight:bold;padding:1px 6px;border-radius:8px;display:inline-block;}\n  .wuge-item.good{border-color:#2e7d32;background:#f2f8f0;}\n  .wuge-item.mixed{border-color:#b8860b;background:#fdf8ec;}\n  .wuge-item.bad{border-color:#c62828;background:#fdf1ef;}\n  .wuge-item.good .wuge-tag{color:#2e7d32;}\n  .wuge-item.mixed .wuge-tag{color:#8a5a1a;}\n  .wuge-item.bad .wuge-tag{color:#c62828;}\n  .wuge-desc{font-size:12px;color:#555;line-height:1.8;}\n  .wuge-desc b{color:#333;}\n  .sancai-display{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap;}\n  .sancai-char{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:14px;}\n\n  \/* \u5408\u5a5a\u8a55\u5206\uff1a\u5713\u5f62\u8a55\u5206\u6846\uff08\u6bd4\u7167\u5916\u639b .hehun-score\uff09 *\/\n  .compat-score-wrap{text-align:center;margin:14px 0 10px;}\n  .compat-score-num{width:140px;height:140px;margin:0 auto 8px;border:3px solid #8d6e63;border-radius:50%;\n    display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:bold;color:#6d4c41;background:#fffdf7;}\n  .compat-score-tier{font-size:14px;font-weight:bold;padding:4px 16px;border-radius:16px;display:inline-block;margin-top:4px;}\n  .compat-score-tier.excellent{background:#f2f8f0;color:#2e7d32;}\n  .compat-score-tier.good{background:#f4f8ec;color:#558b2f;}\n  .compat-score-tier.mixed{background:#f7f1de;color:#8a5a1a;}\n  .compat-score-tier.caution{background:#fdf1ef;color:#c62828;}\n\n  \/* \u7dad\u5ea6\u5361\u8207\u6458\u8981\u6a19\u7c64 *\/\n  .compat-dim{background:#fffdf7;border:1px solid #d8c9a3;border-radius:8px;padding:10px 14px;margin-bottom:8px;font-size:13px;line-height:1.8;}\n  .compat-dim .compat-dim-label{font-weight:bold;color:#8b1a1a;margin-bottom:2px;}\n  .hh-chip{display:inline-block;font-size:12px;font-weight:bold;padding:3px 10px;border-radius:999px;margin:2px 3px;border:1px solid currentColor;color:#2e7d32;background:#f2f8f0;}\n  .hh-chip.bad{color:#c62828;background:#fdf1ef;}\n  .hh-chip.neutral{color:#8d6e63;background:#f7f1de;}\n  .hh-delta{float:right;font-weight:bold;font-size:12px;}\n  .hh-delta.plus{color:#2e7d32;}\n  .hh-delta.minus{color:#c62828;}\n\n  \/* \u6703\u54e1\u89e3\u9396\u63d0\u793a\u5361 *\/\n  .login-gate{background:#fffdf7;border:1.5px dashed #c9b98f;border-radius:10px;padding:24px 18px;text-align:center;}\n  .login-gate-icon{font-size:28px;margin-bottom:8px;}\n  .login-gate-text{font-size:14px;line-height:1.8;color:#6d4c41;max-width:520px;margin:0 auto 14px;}\n  .login-gate-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}\n  .login-gate-btn{display:inline-block;padding:9px 26px;border-radius:8px;font-size:14px;font-weight:bold;cursor:pointer;text-decoration:none;background:#8b1a1a;color:#fff;}\n  .login-gate-btn:hover{background:#a52a2a;}\n  .login-gate-btn-outline{background:#fff;border:1.5px solid #8b1a1a;color:#8b1a1a;}\n  .login-gate-btn-outline:hover{background:#fdf3f3;}\n\n  \/* \u624b\u6a5f\uff1a\u8f38\u5165\u6846\u52a0\u9ad8\u907f\u514d iOS \u805a\u7126\u81ea\u52d5\u653e\u5927 *\/\n  @media(max-width:700px){\n    .bazi-app input,.bazi-app select{padding:.5em .6em;font-size:16px;}\n    .wuge-item .wuge-label,.wuge-item .wuge-tag{font-size:12px;}\n    .wuge-desc{font-size:13px;}\n    .compat-score-num{width:120px;height:120px;font-size:38px;}\n  }\n<\/style>\n\n<div class=\"marquee\">\n  <div class=\"marquee-inner\">\n    <span class=\"tag\">NEW<\/span>\n    <div class=\"marquee-track-wrap\">\n      <div class=\"marquee-track\">\n        <span>\u516b\u5b57\u5408\u5a5a\uff08\u5c08\u696d\u7248\uff09\u4e0a\u7dda\uff01\u96d9\u65b9\u751f\u8fb0\u4e03\u5927\u7dad\u5ea6\u4e92\u67e5\u3001\u52a0\u6b0a\u8a08\u5206\u900f\u660e\u53ef\u6838 \u2192<\/span>\n        <span><a href=\"https:\/\/fatepoint.net\/en\/register\/\">\u514d\u8cbb\u8a3b\u518a\u6703\u54e1\uff1a\u89e3\u9396\u5b8c\u6574\u547d\u7406\u89e3\u8b80\uff0c\u547d\u76e4\u7d00\u9304\u8de8\u88dd\u7f6e\u4fdd\u5b58 \u2192<\/a><\/span>\n        <span><a href=\"https:\/\/fatepoint.net\/en\/report\/\">\u516b\u5b57\u6df1\u5ea6\u547d\u7406\u5831\u544a\uff1a\u6027\u683c\u8ca1\u904b\u59fb\u7de3\uff0b\u5341\u5e74\u5927\u904b\u4e00\u6b21\u770b\u61c2 \u2192<\/a><\/span>\n        <span>\u516b\u5b57\u5408\u5a5a\uff08\u5c08\u696d\u7248\uff09\u4e0a\u7dda\uff01\u96d9\u65b9\u751f\u8fb0\u4e03\u5927\u7dad\u5ea6\u4e92\u67e5\u3001\u52a0\u6b0a\u8a08\u5206\u900f\u660e\u53ef\u6838 \u2192<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"bazi-app\">\n  <h1 class=\"bazi-page-title\">\u5408\u5a5a\u514d\u8cbb\u7b97<\/h1>\n  <span class=\"bazi-tagline\">\u59d3\u540d\u4e94\u683c\u914d\u5c0d\uff5c\u516b\u5b57\u5408\u5a5a\u4e03\u5927\u7dad\u5ea6\uff5c\u52a0\u6b0a\u8a08\u5206\u900f\u660e\u53ef\u6838\u3000<a href=\"https:\/\/fatepoint.net\/en\/guide\/\" style=\"color:#8b1a1a;\">\u89e3\u8b80\u908f\u8f2f\u8aaa\u660e \u203a<\/a><\/span>\n<\/div>\n\n<div class=\"mp-tabs\">\n  <div class=\"mp-tab\" id=\"mpTabBtnBazi\" onclick=\"mpSwitchTab('bazi')\">\ud83c\udfb4 \u516b\u5b57\u5408\u5a5a<span class=\"badge-new\">NEW<\/span><span class=\"mp-tab-sub\">\u96d9\u65b9\u751f\u8fb0\u516b\u5b57\u30fb\u4e03\u5927\u7dad\u5ea6\u5c08\u696d\u4e92\u67e5<\/span><\/div>\n  <div class=\"mp-tab\" id=\"mpTabBtnName\" onclick=\"mpSwitchTab('name')\">\u270d\ufe0f \u59d3\u540d\u5408\u5a5a<span class=\"mp-tab-sub\">\u5eb7\u7199\u7b46\u756b\u4e94\u683c\u30fb\u5feb\u901f\u914d\u5c0d<\/span><\/div>\n<\/div>\n\n<div class=\"bazi-app\" id=\"mpSectionName\">\n  <div class=\"bazi-sec\">\n    <h3>\u96d9\u65b9\u59d3\u540d\u8f38\u5165<\/h3>\n    <fieldset class=\"bazi-hehun-side\">\n      <legend>\u7532\u65b9<\/legend>\n      <div class=\"bazi-row\">\n        <label>\u59d3\uff081~2\u5b57\uff09 <input type=\"text\" id=\"aSurname\" placeholder=\"\u9673\" value=\"\u9673\"><\/label>\n        <label>\u540d\uff081~2\u5b57\uff09 <input type=\"text\" id=\"aGiven\" placeholder=\"\u5927\u6587\" value=\"\u5927\u6587\"><\/label>\n      <\/div>\n    <\/fieldset>\n    <fieldset class=\"bazi-hehun-side\">\n      <legend>\u4e59\u65b9<\/legend>\n      <div class=\"bazi-row\">\n        <label>\u59d3\uff081~2\u5b57\uff09 <input type=\"text\" id=\"bSurname\" placeholder=\"\u6797\" value=\"\u6797\"><\/label>\n        <label>\u540d\uff081~2\u5b57\uff09 <input type=\"text\" id=\"bGiven\" placeholder=\"\u7f8e\u60e0\" value=\"\u7f8e\u60e0\"><\/label>\n      <\/div>\n    <\/fieldset>\n    <button class=\"bazi-btn\" type=\"button\" onclick=\"generateMingPeiFromUser()\">\u5408\u5a5a<\/button>\n    <p class=\"bazi-err\" id=\"formError\" style=\"display:none;margin-top:.5em;\"><\/p>\n    <p class=\"bazi-note\">\uff0a\u7b46\u756b\u4e00\u5f8b\u63a1\u7528\u5eb7\u7199\u5b57\u5178\u7b46\u756b\uff0c\u8207\u73fe\u4ee3\u7c21\u5316\u7b46\u756b\u53ef\u80fd\u4e0d\u540c\uff08\u4f8b\u5982\u300c\u83ef\u300d\u5eb7\u719914\u756b\u3001\u73fe\u4ee312\u756b\uff09\u3002<\/p>\n  <\/div>\n\n  <div id=\"fpDoneToast\" style=\"display:none;position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:200;background:#8b1a1a;color:#fff;font-size:16px;font-weight:bold;padding:12px 26px;border-radius:24px;box-shadow:0 6px 20px rgba(0,0,0,.3);transition:opacity .4s ease;max-width:92vw;text-align:center;\">\u2705 \u5408\u5a5a\u5206\u6790\u5b8c\u6210\uff01\u4ee5\u4e0b\u662f\u4f60\u5011\u7684\u59d3\u540d\u5408\u5a5a\u7d50\u679c<\/div>\n\n    <a class=\"fp-save-cta\" href=\"https:\/\/fatepoint.net\/en\/register\/\">\ud83d\udcbe <b>\u514d\u8cbb\u8a3b\u518a\u6703\u54e1<\/b>\uff1a\u81ea\u52d5\u4fdd\u5b58\u5408\u5a5a\u7d50\u679c\uff0c\u4e0b\u6b21\u514d\u91cd\u586b\u3001\u96a8\u6642\u56de\u4f86\u67e5\u770b\uff0c\u4e26\u89e3\u9396\u5404\u7dad\u5ea6\u8a73\u7d30\u65b7\u8a9e \u2192<\/a>\n  \n  <div class=\"bazi-sec\" id=\"mpNameResult\">\n    <h3>\u96d9\u65b9\u59d3\u540d\u4e94\u683c\u5206\u6790\u3000<span class=\"free-tag\">\u2705 \u514d\u8cbb\u5167\u5bb9<\/span><\/h3>\n    <div class=\"person-block\">\n      <h5 id=\"aPersonTitle\">\u7532\u65b9<\/h5>\n      <div class=\"wuge-grid\" id=\"aWugeGrid\"><\/div>\n      <p class=\"wuge-desc\" id=\"aWugeDesc\" style=\"margin-bottom:10px;\"><\/p>\n      <div class=\"sancai-display\" id=\"aSanCaiDisplay\"><\/div>\n      <p class=\"wuge-desc\" id=\"aSanCaiText\"><\/p>\n    <\/div>\n    <div class=\"person-block\">\n      <h5 id=\"bPersonTitle\">\u4e59\u65b9<\/h5>\n      <div class=\"wuge-grid\" id=\"bWugeGrid\"><\/div>\n      <p class=\"wuge-desc\" id=\"bWugeDesc\" style=\"margin-bottom:10px;\"><\/p>\n      <div class=\"sancai-display\" id=\"bSanCaiDisplay\"><\/div>\n      <p class=\"wuge-desc\" id=\"bSanCaiText\"><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"bazi-sec\">\n    <h3>\u5408\u5a5a\u7d50\u679c<\/h3>\n    <div class=\"compat-score-wrap\">\n      <div class=\"compat-score-num\" id=\"compatScore\">\u2014<\/div>\n      <div class=\"compat-score-tier\" id=\"compatTier\">\u8acb\u8f38\u5165\u96d9\u65b9\u59d3\u540d<\/div>\n    <\/div>\n        <div class=\"login-gate\" style=\"margin-top:8px;\">\n      <div class=\"login-gate-icon\">\ud83d\udd12<\/div>\n      <p class=\"login-gate-text\">\u70ba\u4ec0\u9ebc\u5f97\u5230\u9019\u500b\u5206\u6578\uff1f\u4eba\u683c\u5c0d\u4eba\u683c\u3001\u7e3d\u683c\u5c0d\u7e3d\u683c\u7b49\u56db\u500b\u7dad\u5ea6\u7684\u8a73\u7d30\u4e94\u884c\u751f\u524b\u89e3\u91cb\uff0c\u70ba\u6703\u54e1\u5c08\u5c6c\u5167\u5bb9\uff0c\u767b\u5165\u6216\u514d\u8cbb\u8a3b\u518a\u5373\u53ef\u7acb\u5373\u89e3\u9396\u3002<\/p>\n      <div class=\"login-gate-actions\">\n        <a href=\"https:\/\/fatepoint.net\/en\/login\/\" class=\"login-gate-btn\">\u6703\u54e1\u767b\u5165<\/a>\n        <a href=\"https:\/\/fatepoint.net\/en\/register\/\" class=\"login-gate-btn login-gate-btn-outline\">\u514d\u8cbb\u8a3b\u518a<\/a>\n      <\/div>\n    <\/div>\n        <p class=\"bazi-note\">\uff0a\u59d3\u540d\u5408\u5a5a\u63a1\u4e94\u683c\u5256\u8c61\u6cd5\uff08\u6e90\u81ea\u65e5\u672c\u718a\u5d0e\u6c0f\u59d3\u540d\u5b78\uff0c\u5728\u83ef\u4eba\u5708\u5ee3\u6cdb\u6cbf\u7528\uff09\uff0c\u4ee5\u96d9\u65b9\u4eba\u683c\u3001\u7e3d\u683c\u7684\u4e94\u884c\u751f\u524b\u95dc\u4fc2\u70ba\u4e3b\u8981\u5224\u65b7\u4f9d\u64da\uff0c\u7ad9\u65b9\u81ea\u8a02\u52a0\u6b0a\u8a08\u5206\u898f\u5247\uff0c\u50c5\u4f9b\u5a1b\u6a02\u53c3\u8003\uff0c\u975e\u50b3\u7d71\u5408\u5a5a\u8853\u552f\u4e00\u6a19\u6e96\uff0c\u4ea6\u975e\u5c08\u696d\u8ad6\u547d\u4f9d\u64da\u3002\u66f4\u5168\u9762\u7684\u59fb\u7de3\u5206\u6790\uff0c\u8acb\u5207\u63db\u4e0a\u65b9\u300c\u516b\u5b57\u5408\u5a5a\u300d\u5206\u9801\u3002<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"bazi-app\" id=\"mpSectionBazi\">\n  <div class=\"bazi-sec\">\n    <h3>\u516b\u5b57\u5408\u5a5a\uff08\u5c08\u696d\u7248\uff09<\/h3>\n    <p class=\"bazi-note\" style=\"margin:0 0 .3em;\">\u8207\u59d3\u540d\u5408\u5a5a\u4e0d\u540c\u9ad4\u7cfb\uff1a\u4ee5\u96d9\u65b9\u300c\u751f\u8fb0\u516b\u5b57\u300d\u4e92\u67e5\u751f\u8096\u7de3\u5206\u3001\u65e5\u4e3b\u5929\u5e72\u3001\u592b\u59bb\u5bae\u3001\u559c\u7528\u795e\u4e92\u67e5\u7b49\u4e03\u5927\u7dad\u5ea6\uff0c\u9010\u9805\u52a0\u6b0a\u8a08\u5206\u3001\u5168\u7a0b\u900f\u660e\u53ef\u6838\u3002<\/p>\n    <fieldset class=\"bazi-hehun-side\">\n      <legend>\u7532\u65b9<\/legend>\n      <div class=\"bazi-row\">\n        <label>\u66c6\u5225\n          <select id=\"hhCal1\" onchange=\"hhOnCalChange(1)\"><option value=\"solar\">\u570b\u66c6<\/option><option value=\"lunar\">\u8fb2\u66c6<\/option><\/select>\n        <\/label>\n        <label>\u5e74 <input type=\"number\" class=\"hh-year\" id=\"hhY1\" value=\"1990\" placeholder=\"1990\"><\/label>\n        <label>\u6708 <input type=\"number\" id=\"hhM1\" value=\"3\" min=\"1\" max=\"12\"><\/label>\n        <label>\u65e5 <input type=\"number\" id=\"hhD1\" value=\"15\" min=\"1\" max=\"31\"><\/label>\n        <span id=\"hhLeapField1\" style=\"display:none;\">\n          <label><input type=\"checkbox\" id=\"hhLeap1\" style=\"width:auto;\"> \u8a72\u6708\u70ba\u958f\u6708<\/label>\n        <\/span>\n      <\/div>\n      <div class=\"bazi-row\">\n        <label>\u51fa\u751f\u6642\u8fb0\n          <select id=\"hhHour1\">\n            <option value=\"-1\">\u6642\u8fb0\u4e0d\u660e\uff08\u4ee5\u5348\u6642\u6982\u7b97\uff09<\/option>\n            <option value=\"0\">\u5b50\u6642 23:00-00:59<\/option><option value=\"1\">\u4e11\u6642 01:00-02:59<\/option>\n            <option value=\"2\">\u5bc5\u6642 03:00-04:59<\/option><option value=\"3\">\u536f\u6642 05:00-06:59<\/option>\n            <option value=\"4\" selected>\u8fb0\u6642 07:00-08:59<\/option><option value=\"5\">\u5df3\u6642 09:00-10:59<\/option>\n            <option value=\"6\">\u5348\u6642 11:00-12:59<\/option><option value=\"7\">\u672a\u6642 13:00-14:59<\/option>\n            <option value=\"8\">\u7533\u6642 15:00-16:59<\/option><option value=\"9\">\u9149\u6642 17:00-18:59<\/option>\n            <option value=\"10\">\u620c\u6642 19:00-20:59<\/option><option value=\"11\">\u4ea5\u6642 21:00-22:59<\/option>\n          <\/select>\n        <\/label>\n      <\/div>\n    <\/fieldset>\n    <fieldset class=\"bazi-hehun-side\">\n      <legend>\u4e59\u65b9<\/legend>\n      <div class=\"bazi-row\">\n        <label>\u66c6\u5225\n          <select id=\"hhCal2\" onchange=\"hhOnCalChange(2)\"><option value=\"solar\">\u570b\u66c6<\/option><option value=\"lunar\">\u8fb2\u66c6<\/option><\/select>\n        <\/label>\n        <label>\u5e74 <input type=\"number\" class=\"hh-year\" id=\"hhY2\" value=\"1990\" placeholder=\"1990\"><\/label>\n        <label>\u6708 <input type=\"number\" id=\"hhM2\" value=\"5\" min=\"1\" max=\"12\"><\/label>\n        <label>\u65e5 <input type=\"number\" id=\"hhD2\" value=\"26\" min=\"1\" max=\"31\"><\/label>\n        <span id=\"hhLeapField2\" style=\"display:none;\">\n          <label><input type=\"checkbox\" id=\"hhLeap2\" style=\"width:auto;\"> \u8a72\u6708\u70ba\u958f\u6708<\/label>\n        <\/span>\n      <\/div>\n      <div class=\"bazi-row\">\n        <label>\u51fa\u751f\u6642\u8fb0\n          <select id=\"hhHour2\">\n            <option value=\"-1\">\u6642\u8fb0\u4e0d\u660e\uff08\u4ee5\u5348\u6642\u6982\u7b97\uff09<\/option>\n            <option value=\"0\">\u5b50\u6642 23:00-00:59<\/option><option value=\"1\">\u4e11\u6642 01:00-02:59<\/option>\n            <option value=\"2\">\u5bc5\u6642 03:00-04:59<\/option><option value=\"3\">\u536f\u6642 05:00-06:59<\/option>\n            <option value=\"4\">\u8fb0\u6642 07:00-08:59<\/option><option value=\"5\">\u5df3\u6642 09:00-10:59<\/option>\n            <option value=\"6\" selected>\u5348\u6642 11:00-12:59<\/option><option value=\"7\">\u672a\u6642 13:00-14:59<\/option>\n            <option value=\"8\">\u7533\u6642 15:00-16:59<\/option><option value=\"9\">\u9149\u6642 17:00-18:59<\/option>\n            <option value=\"10\">\u620c\u6642 19:00-20:59<\/option><option value=\"11\">\u4ea5\u6642 21:00-22:59<\/option>\n          <\/select>\n        <\/label>\n      <\/div>\n    <\/fieldset>\n    <button class=\"bazi-btn\" type=\"button\" onclick=\"generateHehunFromUser()\">\u5408\u5a5a<\/button>\n    <p class=\"bazi-err\" id=\"hhError\" style=\"display:none;margin-top:.5em;\"><\/p>\n    <p class=\"bazi-note\">\uff0a\u4e0d\u78ba\u5b9a\u51fa\u751f\u6642\u8fb0\u53ef\u9078\u300c\u6642\u8fb0\u4e0d\u660e\u300d\uff0c\u5c07\u4ee5\u5348\u6642\u6982\u7b97\uff08\u6642\u67f1\u76f8\u95dc\u7cbe\u5ea6\u7565\u964d\uff09\uff1b\u8fb2\u66c6\u751f\u65e5\u8acb\u5207\u63db\u66c6\u5225\u4e26\u7559\u610f\u662f\u5426\u70ba\u958f\u6708\u3002<\/p>\n  <\/div>\n\n  <div class=\"bazi-sec\">\n    <h3>\u516b\u5b57\u5408\u5a5a\u7d50\u679c\u3000<span class=\"free-tag\">\u2705 \u514d\u8cbb\u5167\u5bb9<\/span><\/h3>\n    <p class=\"wuge-desc\" id=\"hhPairInfo\" style=\"text-align:center;margin-bottom:6px;\"><\/p>\n    <div class=\"compat-score-wrap\">\n      <div class=\"compat-score-num\" id=\"hhScore\">\u2014<\/div>\n      <div class=\"compat-score-tier\" id=\"hhTier\">\u8acb\u8f38\u5165\u96d9\u65b9\u751f\u8fb0<\/div>\n    <\/div>\n    <p class=\"wuge-desc\" id=\"hhGradeText\" style=\"text-align:center;margin-bottom:10px;\"><\/p>\n    <div id=\"hhChips\" style=\"text-align:center;margin-bottom:10px;\"><\/div>\n    <p class=\"wuge-desc\" id=\"hhNotes\" style=\"text-align:center;color:#8a5a1a;\"><\/p>\n        <div class=\"login-gate\" style=\"margin-top:8px;\">\n      <div class=\"login-gate-icon\">\ud83d\udd12<\/div>\n      <p class=\"login-gate-text\">\u4e03\u5927\u7dad\u5ea6\uff08\u751f\u8096\u7de3\u5206\u3001\u65e5\u4e3b\u5929\u5e72\u3001\u592b\u59bb\u5bae\u3001\u559c\u7528\u795e\u4e92\u67e5\u3001\u4e94\u884c\u4e92\u88dc\u3001\u5e74\u67f1\u7d0d\u97f3\u3001\u65e5\u4e3b\u9670\u967d\uff09\u7684\u9010\u9805\u8a73\u7d30\u65b7\u8a9e\u8207\u52a0\u6e1b\u5206\u4f9d\u64da\uff0c\u70ba\u6703\u54e1\u5c08\u5c6c\u5167\u5bb9\uff0c\u767b\u5165\u6216\u514d\u8cbb\u8a3b\u518a\u5373\u53ef\u7acb\u5373\u89e3\u9396\u3002<\/p>\n      <div class=\"login-gate-actions\">\n        <a href=\"https:\/\/fatepoint.net\/en\/login\/\" class=\"login-gate-btn\">\u6703\u54e1\u767b\u5165<\/a>\n        <a href=\"https:\/\/fatepoint.net\/en\/register\/\" class=\"login-gate-btn login-gate-btn-outline\">\u514d\u8cbb\u8a3b\u518a<\/a>\n      <\/div>\n    <\/div>\n        <p class=\"bazi-note\">\uff0a\u516b\u5b57\u5408\u5a5a\u4ee5\u300a\u4e09\u547d\u901a\u6703\u300b\u300a\u5354\u7d00\u8fa8\u65b9\u66f8\u300b\u7b49\u53e4\u7c4d\u901a\u7528\u898f\u5247\u70ba\u672c\uff08\u751f\u8096\uff0f\u65e5\u4e3b\uff0f\u592b\u59bb\u5bae\u5408\u6c96\u5211\u5bb3\u3001\u7d0d\u97f3\u751f\u524b\uff09\uff0c\u4e26\u4ee5\u5b50\u5e73\u6cd5\u300c\u7528\u795e\u4e92\u67e5\u300d\u70ba\u4e3b\u64da\uff0c\u7ad9\u65b9\u81ea\u8a02\u52a0\u6b0a\uff0c\u540c\u4e00\u7d44\u8f38\u5165\u6c38\u9060\u5f97\u5230\u540c\u4e00\u7d50\u679c\u3001\u6bcf\u5206\u52a0\u6e1b\u7686\u6709\u4f9d\u64da\u53ef\u6838\uff1b\u50c5\u4f9b\u5a1b\u6a02\u53c3\u8003\uff0c\u975e\u5a5a\u59fb\u6c7a\u7b56\u552f\u4e00\u4f9d\u64da\u3002<\/p>\n  <\/div>\n<\/div>\n\n\n<script src=\"https:\/\/fatepoint.net\/wp-content\/themes\/fatepoint\/js\/lunar.js?v=1787122373\"><\/script>\n<script src=\"https:\/\/fatepoint.net\/wp-content\/themes\/fatepoint\/js\/bazi-engine.js?v=1787122393\"><\/script>\n<script src=\"https:\/\/fatepoint.net\/wp-content\/themes\/fatepoint\/js\/hehun-engine.js?v=1787122345\"><\/script>\n<script src=\"https:\/\/fatepoint.net\/wp-content\/themes\/fatepoint\/js\/kangxi-strokes.js?v=1787122390\"><\/script>\n<script src=\"https:\/\/fatepoint.net\/wp-content\/themes\/fatepoint\/js\/mingpei-engine.js?v=1787122347\"><\/script>\n<script>\nwindow.FATEPOINT_MINGPEI_I18N = {\"partner_a_label\":\"Partner A: \",\"partner_b_label\":\"Partner B: \",\"stroke_suffix\":\" strokes\",\"sancai_label_template\":\"Three Talents: {tian} \\\/ {ren} \\\/ {di}\",\"elements\":[\"Wood\",\"Fire\",\"Earth\",\"Metal\",\"Water\"],\"sancai_tiers\":[\"The Three Talents reinforce each other, giving you strong support and a natural ease in getting things done.\",\"The Three Talents configuration is fairly smooth overall, allowing for steady, stable development.\",\"The Three Talents are neutral toward one another \\u2014 steady but a little flat, so progress depends mainly on your own initiative.\",\"The Three Talents show a mild controlling relationship \\u2014 expect occasional friction, so pay a bit more attention to adjusting your approach.\",\"The Three Talents show a strong controlling relationship \\u2014 expect more resistance, so proceed with extra care and take things one solid step at a time.\"],\"compat_tiers\":{\"excellent\":\"A match made in heaven \\u2014 your elements complement and reinforce each other, a rare and fortunate pairing.\",\"good\":\"A good match \\u2014 you largely complement one another, and with sincere effort this can last.\",\"mixed\":\"A workable match \\u2014 it will take some extra patience and give-and-take to make it last.\",\"caution\":\"A more challenging elemental pairing \\u2014 expect more friction, and it will take extra patience and communication.\"},\"dim_labels\":{\"renge_renge\":\"Both Partners' Personality Grid (Core Character)\",\"zongge_zongge\":\"Both Partners' Total Grid (Life Pattern)\",\"a_renge_b_zongge\":\"Partner A's Personality Grid vs. Partner B's Total Grid\",\"b_renge_a_zongge\":\"Partner B's Personality Grid vs. Partner A's Total Grid\"},\"relation\":{\"same\":\"Both are {a} \\u2014 similar in nature, harmonious and easygoing, if a little short on spark.\",\"generate\":\"{a} generates {b} \\u2014 the former gives freely and offers support; a nurturing dynamic.\",\"control\":\"{a} controls {b} \\u2014 the former tends to take the lead; the relationship needs patience and give-and-take.\"},\"wuge81\":{\"1\":{\"name\":\"Beginning\",\"text\":\"The founding number of all things \\u2014 wise with deep roots, one of the most auspicious and fortunate numbers.\"},\"2\":{\"name\":\"Isolation\",\"text\":\"A number of separation and setback \\u2014 caught between advancing and retreating, unsettled within and without; proceed cautiously.\"},\"3\":{\"name\":\"Advancement\",\"text\":\"Yin and yang in balance, all things taking shape \\u2014 exceptional talent, likely to bring both fame and fortune.\"},\"4\":{\"name\":\"Adversity\",\"text\":\"A number of ruin and incompleteness \\u2014 caught in a bind either way; a conservative approach serves best.\"},\"5\":{\"name\":\"Fulfillment\",\"text\":\"A number where fortune gathers \\u2014 sound in body and mind, a harmonious household, and lasting good fortune.\"},\"6\":{\"name\":\"Stability\",\"text\":\"A naturally auspicious number \\u2014 a thriving household, though joy taken too far can turn to sorrow.\"},\"7\":{\"name\":\"Resolve\",\"text\":\"Firm-willed and enterprising, though a temper that runs too hard needs tempering for smoother relationships.\"},\"8\":{\"name\":\"Diligence\",\"text\":\"An iron will that sees things through \\u2014 persistence here can bring both great achievement and reward.\"},\"9\":{\"name\":\"Depletion\",\"text\":\"A number of early flourishing followed by decline \\u2014 prone to hardship; building up good deeds helps turn things around.\"},\"10\":{\"name\":\"Emptiness\",\"text\":\"A number marking the end of an era, depleted of resources \\u2014 obstacles abound; manage finances with care.\"},\"11\":{\"name\":\"Renewal\",\"text\":\"A fortunate number like a dead tree springing back to life \\u2014 helpful people appear, and the household can be revived.\"},\"12\":{\"name\":\"Frailty\",\"text\":\"Ambition outpacing ability, with thin family ties \\u2014 better to set goals within your actual reach.\"},\"13\":{\"name\":\"Wisdom\",\"text\":\"Both intellect and strategy, firm yet flexible \\u2014 able to find a clever way through most situations.\"},\"14\":{\"name\":\"Dispersal\",\"text\":\"Thin family bonds and a life of toil \\u2014 best to let things go rather than hold on too tightly.\"},\"15\":{\"name\":\"Blessing\",\"text\":\"Highly respected with deep good fortune \\u2014 an auspicious number for a settled life and a thriving household.\"},\"16\":{\"name\":\"Magnanimity\",\"text\":\"Generous and good at bringing people together \\u2014 often well-regarded, and able to build real success.\"},\"17\":{\"name\":\"Tenacity\",\"text\":\"Firm-willed and bold in breaking through \\u2014 tempering that edge with a little more restraint brings even better results.\"},\"18\":{\"name\":\"Resolution\",\"text\":\"Determined enough to see any goal through \\u2014 cultivating more patience and tolerance rounds this number out well.\"},\"19\":{\"name\":\"Hardship\",\"text\":\"High intelligence but frequent setbacks \\u2014 hard to have it all; proceed with care in all things.\"},\"20\":{\"name\":\"Instability\",\"text\":\"An unfortunate number with a shaky foundation \\u2014 effort often goes to waste; stay grounded and practical.\"},\"21\":{\"name\":\"Bright Moon\",\"text\":\"Independent with real presence and a natural leadership quality \\u2014 capable of achieving real wealth and standing.\"},\"22\":{\"name\":\"Autumn Frost\",\"text\":\"A difficult position with limited means \\u2014 better to act within your capacity and proceed step by step.\"},\"23\":{\"name\":\"Rising Sun\",\"text\":\"A rise from the ordinary to real distinction \\u2014 momentum builds like the sun at high noon, success within reach.\"},\"24\":{\"name\":\"Unearthed Treasure\",\"text\":\"A self-made rise to prosperity, with wealth building steadily \\u2014 a number of enduring good fortune.\"},\"25\":{\"name\":\"Sharp Wit\",\"text\":\"Gifted and quick-minded, though a stubborn streak means more effort spent on cultivating patience helps.\"},\"26\":{\"name\":\"Turbulence\",\"text\":\"Bold and loyal, but the road is far from smooth \\u2014 real ups and downs; steady determination is what carries you through.\"},\"27\":{\"name\":\"Overreach\",\"text\":\"A tendency toward pride that invites conflict \\u2014 humility and tact become especially important in the later years.\"},\"28\":{\"name\":\"Drifting Duckweed\",\"text\":\"A rootless, wandering path with plenty of upheaval \\u2014 better to build steadily and avoid rash moves.\"},\"29\":{\"name\":\"Success\",\"text\":\"Real ability paired with real drive \\u2014 capable of great achievement, though ambition is best kept in check.\"},\"30\":{\"name\":\"Fork in the Road\",\"text\":\"Success and failure both uncertain, outcomes largely tied to circumstance \\u2014 weigh decisions carefully.\"},\"31\":{\"name\":\"Spring Sunshine\",\"text\":\"Wisdom, compassion, and courage together with a firm will \\u2014 capable of leading others toward wealth and ease.\"},\"32\":{\"name\":\"Good Fortune\",\"text\":\"Likely to receive help from influential people \\u2014 a humble, gracious manner can bring real prosperity to the household.\"},\"33\":{\"name\":\"Ascension\",\"text\":\"Real talent paired with real momentum \\u2014 a reputation that can spread far, so long as excessive rigidity is avoided.\"},\"34\":{\"name\":\"Family Ruin\",\"text\":\"A difficult number, beset from within and without \\u2014 proceed with extra caution and avoid major decisions.\"},\"35\":{\"name\":\"Gentleness\",\"text\":\"Mild-natured with real artistic talent \\u2014 best suited to steady, careful growth; a solidly positive number.\"},\"36\":{\"name\":\"Rolling Waves\",\"text\":\"Deeply loyal but prone to real ups and downs \\u2014 steady, careful action helps avoid major swings.\"},\"37\":{\"name\":\"Fierce Tiger\",\"text\":\"Independent, bold, and trustworthy \\u2014 persistence can bring great achievement and long-lasting good fortune.\"},\"38\":{\"name\":\"Trial by Fire\",\"text\":\"Somewhat weak in will and leadership, but focused dedication to a craft can still bring real accomplishment.\"},\"39\":{\"name\":\"Clearing Skies\",\"text\":\"Hardship first, prosperity after \\u2014 the household can flourish, though a peak in fortune calls for caution about the turn that follows.\"},\"40\":{\"name\":\"Caution\",\"text\":\"Resourceful but prone to controversy \\u2014 best to keep a low profile and avoid rash moves.\"},\"41\":{\"name\":\"Virtue and Standing\",\"text\":\"Talent matched with firm resolve \\u2014 things tend to go smoothly, an enviable and auspicious number.\"},\"42\":{\"name\":\"Broad Knowledge\",\"text\":\"Talented in many directions but hard to master just one \\u2014 best to settle on a clear focus early.\"},\"43\":{\"name\":\"Scattered Wealth\",\"text\":\"Looks prosperous outwardly but carries hidden struggle \\u2014 manage money carefully and avoid acting on impulse.\"},\"44\":{\"name\":\"Despondency\",\"text\":\"An unfortunate number where effort falls short and little goes smoothly \\u2014 take time to settle and wait for better timing.\"},\"45\":{\"name\":\"Favorable Winds\",\"text\":\"Deep strategic thinking and real ambition \\u2014 capable of overcoming real obstacles to build lasting prosperity.\"},\"46\":{\"name\":\"Panning for Gold\",\"text\":\"Limited resources and a bumpy road \\u2014 speak and act carefully, and avoid unnecessary risk.\"},\"47\":{\"name\":\"Blossoming\",\"text\":\"Deep natural good fortune and a gift for collaboration \\u2014 real potential for both fame and wealth.\"},\"48\":{\"name\":\"Virtue and Wisdom\",\"text\":\"Both strategic insight and sound judgment \\u2014 well-suited to advising others, with a reputation that spreads naturally.\"},\"49\":{\"name\":\"Reversal\",\"text\":\"Fortune hard to predict, often turning on circumstance \\u2014 proceed with particular care in all things.\"},\"50\":{\"name\":\"Mixed Fortune\",\"text\":\"Good fortune early, hardship later \\u2014 it pays to prepare and save ahead of time.\"},\"51\":{\"name\":\"Rise and Fall\",\"text\":\"Early success followed by some setback later in life \\u2014 plan ahead and stay prepared for change.\"},\"52\":{\"name\":\"Foresight\",\"text\":\"Sharp vision and real strategic skill \\u2014 able to seize the moment and achieve both ambition and reward.\"},\"53\":{\"name\":\"Outward Beauty\",\"text\":\"Looks impressive outwardly but carries real inner worry \\u2014 fortunes mixed; meet the ups and downs with equanimity.\"},\"54\":{\"name\":\"Persistent Hardship\",\"text\":\"Difficulties tend to recur \\u2014 proceed step by step and avoid rash, hasty action.\"},\"55\":{\"name\":\"Surface Prosperity\",\"text\":\"Looks flourishing on the surface but carries hidden concerns \\u2014 a firm resolve is needed to truly break through.\"},\"56\":{\"name\":\"Falling Short\",\"text\":\"Somewhat lacking in drive and follow-through \\u2014 outcomes may disappoint, so aim within your actual reach.\"},\"57\":{\"name\":\"Winter Pine\",\"text\":\"Prosperity earned after real hardship \\u2014 bitter first, sweet after, with things eventually falling into place.\"},\"58\":{\"name\":\"Bitter Beginnings\",\"text\":\"A rough start giving way to smoother later years \\u2014 patience and steady accumulation pay off over time.\"},\"59\":{\"name\":\"Missed Opportunity\",\"text\":\"A somewhat weak will and lack of drive can mean missed chances \\u2014 hold firm to your convictions.\"},\"60\":{\"name\":\"Darkness\",\"text\":\"An unfortunate number marked by indecision \\u2014 a lack of clear direction; plan carefully before acting.\"},\"61\":{\"name\":\"Fame and Fortune\",\"text\":\"An auspicious number bringing both reputation and wealth \\u2014 stay humble and steady to avoid pride causing friction.\"},\"62\":{\"name\":\"Weak Foundation\",\"text\":\"A somewhat shaky base makes things hard to reconcile \\u2014 focus on strengthening your foundation rather than rushing results.\"},\"63\":{\"name\":\"Homeward Boat\",\"text\":\"Things fall naturally into place, and good fortune arrives on its own \\u2014 an auspicious number for a settled, contented life.\"},\"64\":{\"name\":\"Ill Fate\",\"text\":\"Thinner family ties and a tendency toward sudden change \\u2014 pay extra attention to relationships and health.\"},\"65\":{\"name\":\"Return to the Sea\",\"text\":\"A thriving household with deep, lasting good fortune and strong foundations \\u2014 an auspicious number bringing success on every front.\"},\"66\":{\"name\":\"Discord\",\"text\":\"Difficulty reconciling inner and outer, with frequent interpersonal tangles \\u2014 meet conflict with a gentler approach.\"},\"67\":{\"name\":\"Smooth Progress\",\"text\":\"Likely to gain support from elders and mentors \\u2014 things tend to go smoothly, with the household gradually prospering.\"},\"68\":{\"name\":\"Favorable Winds\",\"text\":\"Thoughtful and diligent, with a real gift for invention \\u2014 reputation and substance tend to match.\"},\"69\":{\"name\":\"Unease\",\"text\":\"A cramped, uneasy position that can shake one's resolve \\u2014 stay firm in conviction and steady in approach.\"},\"70\":{\"name\":\"Bleakness\",\"text\":\"An unfortunate number with a somewhat lonely late chapter \\u2014 plan ahead to avoid ending up isolated.\"},\"71\":{\"name\":\"Flower on Stone\",\"text\":\"Good underlying fortune held back by weak follow-through \\u2014 building stronger execution unlocks real achievement.\"},\"72\":{\"name\":\"Toil\",\"text\":\"Sweetness first, bitterness later, promising outside but troubled within \\u2014 curbing excess desire eases the hardship.\"},\"73\":{\"name\":\"High Aspiration\",\"text\":\"Big ambitions with somewhat weaker follow-through \\u2014 good fortune remains, and life can proceed reasonably smoothly.\"},\"74\":{\"name\":\"Obscurity\",\"text\":\"Talent that struggles to find its outlet \\u2014 best to stay low-key and cautious to avoid unexpected setbacks.\"},\"75\":{\"name\":\"Holding Back\",\"text\":\"Staying the course brings safety; pushing too hard invites setbacks and unnecessary struggle.\"},\"76\":{\"name\":\"Scattering\",\"text\":\"Discord within and thinner family ties \\u2014 speak and act carefully, and build goodwill broadly.\"},\"77\":{\"name\":\"Half Fortune\",\"text\":\"Smooth at first and rocky later, or the reverse \\u2014 hardship early followed by gradual improvement.\"},\"78\":{\"name\":\"Late Chapter\",\"text\":\"A smooth early life giving way to a harder later chapter \\u2014 plan an exit strategy well ahead of time.\"},\"79\":{\"name\":\"Spent Strength\",\"text\":\"Scattered resolve that struggles to see things through \\u2014 aim within your means and stay grounded.\"},\"80\":{\"name\":\"Quiet Retreat\",\"text\":\"An unfortunate number marked by real hardship \\u2014 letting go of worldly ambition and cultivating inner peace helps ease it.\"},\"81\":{\"name\":\"Renewal\",\"text\":\"A return to the source \\u2014 the most auspicious and complete number, symbolizing renewal after hardship and unending vitality.\"}}};\n<\/script>\n<script>\nconst MP_I18N = window.FATEPOINT_MINGPEI_I18N;\nconst WUGE_LABELS = ['\u5929\u683c','\u4eba\u683c','\u5730\u683c','\u5916\u683c','\u7e3d\u683c'];\n\/\/ \u4e94\u884c\u986f\u793a\u8272\u6bd4\u7167\u65b0\u7248\u516b\u5b57\u8ad6\u547d\uff08bazi-mingpan \u5916\u639b\uff09\u7684\u5c08\u7528\u8272\uff1a\u6728\u7da0\/\u706b\u7d05\/\u571f\u68d5\/\u91d1\u9ec3\/\u6c34\u85cd\nconst MP_WX_COLOR = ['#2e7d32','#c62828','#8d6e63','#b8860b','#1565c0'];\n\nfunction renderWugeGrid(containerId, wuge){\n  const keys = ['tianGe','renGe','diGe','waiGe','zongGe'];\n  document.getElementById(containerId).innerHTML = keys.map((k, i) => {\n    const num = wuge[k];\n    const info = lookupWuGe81(num); \/\/ tier \u4e00\u5f8b\u6cbf\u7528\u4e2d\u6587\u5f15\u64ce\u7684\u5206\u985e\uff08\u53ea\u662f CSS class\uff0c\u4e0d\u662f\u986f\u793a\u6587\u5b57\uff09\n    const name = (MP_I18N && MP_I18N.wuge81[num]) ? MP_I18N.wuge81[num].name : info.name;\n    return `<div class=\"wuge-item ${info.tier}\">\n      <div class=\"wuge-label\">${WUGE_LABELS[i]}<\/div>\n      <div class=\"wuge-num\">${num}<\/div>\n      <div class=\"wuge-tag\">${name}<\/div>\n    <\/div>`;\n  }).join('');\n}\n\nfunction renderWugeDesc(containerId, wuge){\n  const keys = ['tianGe','renGe','diGe','waiGe','zongGe'];\n  document.getElementById(containerId).innerHTML = keys.map((k, i) => {\n    const info = lookupWuGe81(wuge[k]);\n    const en = MP_I18N && MP_I18N.wuge81[wuge[k]];\n    if (en) {\n      return `<b>${WUGE_LABELS[i]} ${wuge[k]}${MP_I18N.stroke_suffix} (${en.name})<\/b>: ${en.text}`;\n    }\n    return `<b>${WUGE_LABELS[i]}${wuge[k]}\u756b\uff08${info.name}\uff09<\/b>\uff1a${info.text}`;\n  }).join('<br>');\n}\n\nfunction renderSanCai(displayId, textId, sanCai){\n  const elNames = (MP_I18N && MP_I18N.elements) || null;\n  const tianName = elNames ? elNames[sanCai.tianEl] : sanCai.tianElName;\n  const renName = elNames ? elNames[sanCai.renEl] : sanCai.renElName;\n  const diName = elNames ? elNames[sanCai.diEl] : sanCai.diElName;\n  const sanCaiLabel = (MP_I18N && MP_I18N.sancai_label_template)\n    ? MP_I18N.sancai_label_template.replace('{tian}', tianName).replace('{ren}', renName).replace('{di}', diName)\n    : `\u4e09\u624d\u914d\u7f6e\u300c${sanCai.sanCaiText}\u300d`;\n  document.getElementById(displayId).innerHTML = `\n    <span class=\"sancai-char\" style=\"background:${MP_WX_COLOR[sanCai.tianEl]}\">${sanCai.tianElName}<\/span>\n    <span class=\"sancai-char\" style=\"background:${MP_WX_COLOR[sanCai.renEl]}\">${sanCai.renElName}<\/span>\n    <span class=\"sancai-char\" style=\"background:${MP_WX_COLOR[sanCai.diEl]}\">${sanCai.diElName}<\/span>\n    <span style=\"font-size:12px;color:#999;\">${sanCaiLabel}<\/span>\n  `;\n  const tierText = (MP_I18N && MP_I18N.sancai_tiers) ? MP_I18N.sancai_tiers[sanCai.tierIndex] : `${sanCai.tierText}\u3002`;\n  document.getElementById(textId).textContent = tierText;\n}\n\n\/\/ relationLabel() \u7684\u82f1\u6587\u7248\uff1a\u908f\u8f2f\u8207 mingpei-engine.js \u7684 relationLabel() \u5b8c\u5168\u4e00\u81f4\n\/\/ \uff08\u540c\/\u751f\/\u524b\u4e09\u7a2e\u5224\u65b7\u5206\u652f\uff09\uff0c\u53ea\u662f\u8f38\u51fa\u63db\u6210\u82f1\u6587\u6a23\u677f\uff0b\u82f1\u6587\u4e94\u884c\u540d\u7a31\uff0c\u907f\u514d\u66f4\u52d5\u5171\u7528\u5f15\u64ce\u7684\n\/\/ \u4e2d\u6587\u8a08\u5206\u908f\u8f2f\u3002\u56de\u50b3\u6587\u5b57\uff0c\u4e0d\u5f71\u97ff\u5206\u6578\u8a08\u7b97\uff08\u5206\u6578\u4ecd\u7531\u5f15\u64ce\u7684 relationLabel() \u6c7a\u5b9a\uff09\u3002\nfunction relationLabelEN(a, b, elNames, templates){\n  if (a === b) return templates.same.replace('{a}', elNames[a]);\n  if (SHENGKE.generate(a) === b) return templates.generate.replace('{a}', elNames[a]).replace('{b}', elNames[b]);\n  if (SHENGKE.generate(b) === a) return templates.generate.replace('{a}', elNames[b]).replace('{b}', elNames[a]);\n  if (SHENGKE.control(a) === b) return templates.control.replace('{a}', elNames[a]).replace('{b}', elNames[b]);\n  return templates.control.replace('{a}', elNames[b]).replace('{b}', elNames[a]);\n}\n\n\/\/ \u5c07\u8f38\u5165\u5b57\u4e32\u62c6\u6210\u55ae\u4e00\u5b57\u5143\u9663\u5217\uff0c\u4e26\u9010\u5b57\u67e5\u8a62\u5eb7\u7199\u7b46\u756b\uff1b\u82e5\u6709\u67e5\u4e0d\u5230\u7684\u5b57\u5247\u56de\u50b3\u932f\u8aa4\u5b57\u5143\u6e05\u55ae\nfunction toStrokeArray(text){\n  const chars = Array.from(text.trim());\n  const strokes = [];\n  const missing = [];\n  chars.forEach(ch => {\n    const s = strokeOf(ch);\n    if (s === null) missing.push(ch); else strokes.push(s);\n  });\n  return { chars, strokes, missing };\n}\n\nfunction calcPerson(surnameText, givenText){\n  const surname = toStrokeArray(surnameText);\n  const given = toStrokeArray(givenText);\n  if (!surnameText.trim() || !givenText.trim()){\n    return { error: '\u8acb\u8f38\u5165\u5b8c\u6574\u7684\u59d3\u8207\u540d\u3002' };\n  }\n  if (surname.missing.length || given.missing.length){\n    return { error: `\u627e\u4e0d\u5230\u300c${[...surname.missing, ...given.missing].join('\u3001')}\u300d\u7684\u5eb7\u7199\u5b57\u5178\u7b46\u756b\u8cc7\u6599\uff0c\u8acb\u78ba\u8a8d\u8f38\u5165\u7684\u662f\u6f22\u5b57\u3002` };\n  }\n  const wuge = calcWuGe(surname.strokes, given.strokes);\n  if (wuge.error) return { error: wuge.error };\n  const sanCai = evalSanCai(wuge.tianGe, wuge.renGe, wuge.diGe);\n  return { wuge, sanCai, fullName: surnameText.trim() + givenText.trim() };\n}\n\nfunction generateMingPei(){\n  const errEl = document.getElementById('formError');\n  errEl.style.display = 'none';\n\n  const aSurname = document.getElementById('aSurname').value;\n  const aGiven = document.getElementById('aGiven').value;\n  const bSurname = document.getElementById('bSurname').value;\n  const bGiven = document.getElementById('bGiven').value;\n\n  try {\n    const a = calcPerson(aSurname, aGiven);\n    if (a.error){ errEl.textContent = `\u7532\u65b9\uff1a${a.error}`; errEl.style.display = 'block'; return; }\n    const b = calcPerson(bSurname, bGiven);\n    if (b.error){ errEl.textContent = `\u4e59\u65b9\uff1a${b.error}`; errEl.style.display = 'block'; return; }\n\n    document.getElementById('aPersonTitle').textContent = (MP_I18N ? MP_I18N.partner_a_label : '\u7532\u65b9\uff1a') + a.fullName;\n    document.getElementById('bPersonTitle').textContent = (MP_I18N ? MP_I18N.partner_b_label : '\u4e59\u65b9\uff1a') + b.fullName;\n    renderWugeGrid('aWugeGrid', a.wuge);\n    renderWugeGrid('bWugeGrid', b.wuge);\n    renderWugeDesc('aWugeDesc', a.wuge);\n    renderWugeDesc('bWugeDesc', b.wuge);\n    renderSanCai('aSanCaiDisplay', 'aSanCaiText', a.sanCai);\n    renderSanCai('bSanCaiDisplay', 'bSanCaiText', b.sanCai);\n\n    const compat = calcCompatibility(a.wuge, b.wuge);\n    document.getElementById('compatScore').textContent = compat.score;\n    const tierEl = document.getElementById('compatTier');\n    tierEl.className = 'compat-score-tier ' + compat.tier;\n    tierEl.textContent = (MP_I18N && MP_I18N.compat_tiers) ? MP_I18N.compat_tiers[compat.tier] : compat.tierText;\n\n    \/\/ \u7d30\u9805\u89e3\u91cb\u70ba\u6703\u54e1\u5c08\u5c6c\u5167\u5bb9\uff0c\u672a\u767b\u5165\u6642 compatDims \u5143\u7d20\u4e0d\u5b58\u5728\uff08\u986f\u793a\u767b\u5165\u63d0\u793a\u5361\u53d6\u4ee3\uff09\n    const compatDimsEl = document.getElementById('compatDims');\n    if (compatDimsEl) {\n      compatDimsEl.innerHTML = compat.dims.map(d => {\n        const label = (MP_I18N && MP_I18N.dim_labels) ? MP_I18N.dim_labels[d.dimKey] : d.label;\n        const relText = (MP_I18N && MP_I18N.relation) ? relationLabelEN(d.a, d.b, MP_I18N.elements, MP_I18N.relation) : d.rel.text;\n        return `<div class=\"compat-dim\"><div class=\"compat-dim-label\">${label}<\/div>${relText}<\/div>`;\n      }).join('');\n    }\n  } catch (e) {\n    console.error('\u59d3\u540d\u5408\u5a5a\u8a08\u7b97\u767c\u751f\u932f\u8aa4\uff1a', e);\n    errEl.textContent = '\u59d3\u540d\u5408\u5a5a\u8a08\u7b97\u767c\u751f\u932f\u8aa4\uff1a' + e.message + '\uff08\u8acb\u6309 F12 \u958b\u555f\u4e3b\u63a7\u53f0\u67e5\u770b\u8a73\u7d30\u8a0a\u606f\uff0c\u4e26\u56de\u5831\u7d66\u6211\u5011\uff09';\n    errEl.style.display = 'block';\n  }\n}\n\n\/\/ \u9801\u9762\u8f09\u5165\u6642\u5148\u7528\u9810\u8a2d\u7bc4\u4f8b\u8cc7\u6599\u8dd1\u4e00\u6b21\uff0c\u8b93\u4f7f\u7528\u8005\u4e00\u958b\u555f\u5c31\u770b\u5230\u5be6\u969b\u904b\u7b97\u7d50\u679c\ngenerateMingPei();\n\n\/\/ \u4f7f\u7528\u8005\u6309\u4e0b\u6309\u9215\u6642\uff1a\u6210\u529f\u5f8c\u986f\u793a\u5b8c\u6210\u63d0\u793a\u4e26\u81ea\u52d5\u6372\u5230\u7d50\u679c\uff08\u8f09\u5165\u6642\u7684\u9810\u8a2d\u8a08\u7b97\u4e0d\u89f8\u767c\uff09\nfunction generateMingPeiFromUser(){\n  generateMingPei();\n  const err = document.getElementById('formError');\n  if (err && err.style.display !== 'none') return;\n  const toast = document.getElementById('fpDoneToast');\n  toast.style.display = 'block';\n  toast.style.opacity = '1';\n  clearTimeout(window.__fpToastTimer);\n  window.__fpToastTimer = setTimeout(() => {\n    toast.style.opacity = '0';\n    setTimeout(() => { toast.style.display = 'none'; }, 400);\n  }, 3000);\n  const report = document.getElementById('mpNameResult');\n  if (report) report.scrollIntoView({ behavior: 'smooth', block: 'start' });\n}\n\n\/* ===================================================================\n   \u516b\u5b57\u5408\u5a5a\uff08\u5c08\u696d\u7248\uff09\uff1a\u8868\u55ae\u8b80\u53d6\u8207\u7d50\u679c\u6e32\u67d3\u3002\n   \u8a08\u7b97\u5168\u90e8\u5728\u7368\u7acb\u6a21\u7d44 hehun-engine.js\uff08hhComputePerson \/ hhCompatibility\uff09\uff0c\n   \u672c\u6bb5\u53ea\u8ca0\u8cac\u8b80\u8868\u55ae\u3001\u547c\u53eb\u6a21\u7d44\u3001\u628a\u7d50\u679c\u5beb\u9032\u756b\u9762\u3002\n=================================================================== *\/\nfunction hhOnCalChange(n){\n  const isLunar = document.getElementById('hhCal' + n).value === 'lunar';\n  document.getElementById('hhLeapField' + n).style.display = isLunar ? 'inline' : 'none';\n}\n\nfunction hhReadPerson(n){\n  return {\n    calendarType: document.getElementById('hhCal' + n).value,\n    y: parseInt(document.getElementById('hhY' + n).value, 10),\n    m: parseInt(document.getElementById('hhM' + n).value, 10),\n    d: parseInt(document.getElementById('hhD' + n).value, 10),\n    isLeapMonth: document.getElementById('hhLeap' + n).checked,\n    hourIdx: parseInt(document.getElementById('hhHour' + n).value, 10)\n  };\n}\n\n\/\/ \u4f9d\u7dad\u5ea6\u5409\u51f6\u6587\u5b57\u6c7a\u5b9a\u6458\u8981\u6a19\u7c64\u984f\u8272\nfunction hhChipClass(verdict){\n  if (verdict.includes('\u51f6') || verdict.includes('\u4e0d\u5229')) return 'hh-chip bad';\n  if (verdict.includes('\u5409')) return 'hh-chip';\n  return 'hh-chip neutral';\n}\n\nfunction generateHehun(){\n  const errEl = document.getElementById('hhError');\n  errEl.style.display = 'none';\n\n  try {\n    const a = hhComputePerson(hhReadPerson(1));\n    if (a.error){ errEl.textContent = `\u7532\u65b9\uff1a${a.error}`; errEl.style.display = 'block'; return; }\n    const b = hhComputePerson(hhReadPerson(2));\n    if (b.error){ errEl.textContent = `\u4e59\u65b9\uff1a${b.error}`; errEl.style.display = 'block'; return; }\n\n    const r = hhCompatibility(a, b);\n\n    document.getElementById('hhPairInfo').innerHTML =\n      `\u7532\u65b9\uff1a\u570b\u66c6${a.solarDateStr}\u30fb\u5c6c${a.zodiac}\u30fb\u65e5\u4e3b ${a.dayGan}${a.dayZhi}<br>` +\n      `\u4e59\u65b9\uff1a\u570b\u66c6${b.solarDateStr}\u30fb\u5c6c${b.zodiac}\u30fb\u65e5\u4e3b ${b.dayGan}${b.dayZhi}`;\n\n    document.getElementById('hhScore').textContent = r.total;\n    const tierEl = document.getElementById('hhTier');\n    const tierClass = r.total >= 78 ? 'excellent' : (r.total >= 64 ? 'good' : (r.total >= 50 ? 'mixed' : 'caution'));\n    tierEl.className = 'compat-score-tier ' + tierClass;\n    tierEl.textContent = r.grade.name;\n    document.getElementById('hhGradeText').textContent = r.grade.text;\n\n    document.getElementById('hhChips').innerHTML = r.dims.map(d =>\n      `<span class=\"${hhChipClass(d.verdict)}\">${d.name.replace(\/\uff08.+\uff09\/, '')}\uff1a${d.verdict}<\/span>`\n    ).join('');\n\n    document.getElementById('hhNotes').textContent = r.notes.join(' ');\n\n    \/\/ \u8a73\u7d30\u65b7\u8a9e\u70ba\u6703\u54e1\u5c08\u5c6c\u5167\u5bb9\uff0c\u672a\u767b\u5165\u6642 hhDims \u5143\u7d20\u4e0d\u5b58\u5728\uff08\u986f\u793a\u767b\u5165\u63d0\u793a\u5361\u53d6\u4ee3\uff09\n    const dimsEl = document.getElementById('hhDims');\n    if (dimsEl) {\n      dimsEl.innerHTML = r.dims.map(d => {\n        const sign = d.delta > 0 ? `+${d.delta}` : `${d.delta}`;\n        const cls = d.delta > 0 ? 'plus' : (d.delta < 0 ? 'minus' : '');\n        return `<div class=\"compat-dim\"><div class=\"compat-dim-label\">${d.name}\uff3b${d.verdict}\uff3d<span class=\"hh-delta ${cls}\">${sign} \u5206<\/span><\/div>${d.text}<\/div>`;\n      }).join('');\n    }\n  } catch (e) {\n    console.error('\u516b\u5b57\u5408\u5a5a\u8a08\u7b97\u767c\u751f\u932f\u8aa4\uff1a', e);\n    errEl.textContent = '\u516b\u5b57\u5408\u5a5a\u8a08\u7b97\u767c\u751f\u932f\u8aa4\uff1a' + e.message + '\uff08\u8acb\u6309 F12 \u958b\u555f\u4e3b\u63a7\u53f0\u67e5\u770b\u8a73\u7d30\u8a0a\u606f\uff0c\u4e26\u56de\u5831\u7d66\u6211\u5011\uff09';\n    errEl.style.display = 'block';\n  }\n}\n\n\/\/ \u9801\u9762\u8f09\u5165\u6642\u5148\u7528\u9810\u8a2d\u7bc4\u4f8b\u8cc7\u6599\u8dd1\u4e00\u6b21\ngenerateHehun();\n\n\/\/ \u5206\u9801\u5207\u63db\uff1a\u516b\u5b57\u5408\u5a5a\uff08\u5c08\u696d\u7248\uff09\uff0f\u59d3\u540d\u5408\u5a5a\uff08\u4e94\u683c\uff09\u3002\u9810\u8a2d\u986f\u793a\u516b\u5b57\u5408\u5a5a\u3002\nfunction mpSwitchTab(which){\n  const isBazi = which === 'bazi';\n  document.getElementById('mpSectionBazi').style.display = isBazi ? '' : 'none';\n  document.getElementById('mpSectionName').style.display = isBazi ? 'none' : '';\n  document.getElementById('mpTabBtnBazi').className = 'mp-tab' + (isBazi ? ' active' : '');\n  document.getElementById('mpTabBtnName').className = 'mp-tab' + (isBazi ? '' : ' active');\n}\nmpSwitchTab('bazi');\n\nfunction generateHehunFromUser(){\n  generateHehun();\n  const err = document.getElementById('hhError');\n  if (err && err.style.display !== 'none') return;\n  const info = document.getElementById('hhPairInfo');\n  if (info) info.scrollIntoView({ behavior: 'smooth', block: 'center' });\n}\n<\/script>\n<\/div>\n\t\t\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":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":2,"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":40,"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/pages\/8\/revisions\/40"}],"wp:attachment":[{"href":"https:\/\/fatepoint.net\/en\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}