{"id":9516,"date":"2026-06-21T22:08:13","date_gmt":"2026-06-21T14:08:13","guid":{"rendered":"https:\/\/c114133108.gowp.space\/team2\/?page_id=9516"},"modified":"2026-06-22T10:36:07","modified_gmt":"2026-06-22T02:36:07","slug":"%e6%8a%bd%e7%8d%8e%e6%b4%bb%e5%8b%95","status":"publish","type":"page","link":"https:\/\/c114133108.gowp.space\/team2\/%e6%8a%bd%e7%8d%8e%e6%b4%bb%e5%8b%95\/","title":{"rendered":"\u62bd\u734e\u6d3b\u52d5"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"zh-TW\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>\u5c4f\u6771\u738b\u8239\u8fce\u738b\u796d\u5178 &#8211; \u7dda\u4e0a\u64f2\u7b4a\u62bd\u7c64\u7cfb\u7d71<\/title>\n  <!-- Tailwind CSS -->\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <!-- Font Awesome for Icons -->\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n  <!-- Google Fonts -->\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Serif+TC:wght@400;700;900&amp;family=Noto+Sans+TC:wght@300;400;500;700&amp;display=swap\" rel=\"stylesheet\">\n  \n  <style>\n    body {\n      font-family: 'Noto Sans TC', sans-serif;\n      background-color: #0b0705;\n    }\n    .serif-title {\n      font-family: 'Noto Serif TC', serif;\n    }\n    \/* \u4eff\u53e4\u9ec3\u91d1\u724c\u6a13\u8207\u6731\u7d05\u5edf\u5b87\u6f38\u5c64 *\/\n    .temple-gradient {\n      background: linear-gradient(135deg, #1f110a 0%, #3d1408 50%, #1f110a 100%);\n    }\n    \/* \u91d1\u8272\u908a\u6846\u8207\u9670\u5f71\u6548\u679c *\/\n    .gold-border {\n      border: 2px solid #dfb15b;\n      box-shadow: 0 0 15px rgba(223, 177, 91, 0.3);\n    }\n    .gold-text {\n      color: #dfb15b;\n      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n    }\n    \/* \u7b4a\u676f 3D \u65cb\u8f49\u52d5\u756b *\/\n    @keyframes toss-left {\n      0% { transform: translateY(0) rotate(0deg) scale(1); }\n      30% { transform: translateY(-100px) rotate(180deg) scale(1.3); }\n      70% { transform: translateY(-50px) rotate(360deg) scale(1.1); }\n      100% { transform: translateY(0) var(--final-transform-left) scale(1); }\n    }\n    @keyframes toss-right {\n      0% { transform: translateY(0) rotate(0deg) scale(1); }\n      30% { transform: translateY(-120px) rotate(-180deg) scale(1.3); }\n      70% { transform: translateY(-40px) rotate(-360deg) scale(1.1); }\n      100% { transform: translateY(0) var(--final-transform-right) scale(1); }\n    }\n    .tossing-left {\n      animation: toss-left 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;\n    }\n    .tossing-right {\n      animation: toss-right 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;\n    }\n    \/* \u6416\u52d5\u7c64\u7b52\u52d5\u756b *\/\n    @keyframes shake-barrel {\n      0%, 100% { transform: rotate(0deg) translateY(0); }\n      15% { transform: rotate(10deg) translateY(-5px); }\n      30% { transform: rotate(-12deg) translateY(5px); }\n      45% { transform: rotate(8deg) translateY(-3px); }\n      60% { transform: rotate(-8deg) translateY(3px); }\n      75% { transform: rotate(4deg) translateY(-2px); }\n      90% { transform: rotate(-3deg) translateY(1px); }\n    }\n    .shaking {\n      animation: shake-barrel 1.5s ease-in-out;\n    }\n    \/* \u7c64\u51fa\u7b52\u52d5\u756b *\/\n    @keyframes draw-stick {\n      0% { transform: translateY(0); opacity: 1; }\n      100% { transform: translateY(-80px); opacity: 0; }\n    }\n    .stick-drawing {\n      animation: draw-stick 1s ease-in forwards;\n    }\n    \/* \u7965\u96f2\u80cc\u666f *\/\n    .cloud-bg {\n      background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cpath d='M10 20c0-5.5 4.5-10 10-10 1.4 0 2.7.3 3.9.8C25.3 7.3 29.4 5 34 5c6.6 0 12 5.4 12 12 0 .7-.1 1.4-.2 2.1C47.2 19.4 48.5 20 50 20c4.4 0 8 3.6 8 8s-3.6 8-8 8H20c-5.5 0-10-4.5-10-10z' fill='%23541c0c' fill-opacity='0.15'\/%3E%3C\/svg%3E\");\n    }\n  <\/style>\n<\/head>\n<body class=\"cloud-bg min-h-screen flex items-center justify-center p-4\">\n\n  <!-- \u4e3b\u5bb9\u5668 -->\n  <div class=\"w-full max-w-lg temple-gradient gold-border rounded-2xl overflow-hidden shadow-2xl relative\">\n    \n    <!-- \u9802\u90e8\u88dd\u98fe\u724c\u6a13 -->\n    <div class=\"bg-amber-500 bg-opacity-90 h-3 flex justify-between px-4 relative z-10\">\n      <div class=\"w-4 h-full bg-red-800\"><\/div>\n      <div class=\"w-32 h-2 bg-yellow-300 rounded-b\"><\/div>\n      <div class=\"w-4 h-full bg-red-800\"><\/div>\n    <\/div>\n    \n    <!-- \u5edf\u5b87\u7cbe\u795e\u6a19\u984c\u5340 -->\n    <div class=\"pt-6 pb-4 px-6 text-center border-b border-yellow-600 border-opacity-30 relative\">\n      <div class=\"absolute top-2 right-4 text-xs text-amber-500 opacity-60\">\n        <i class=\"fa-solid fa-anchor mr-1\"><\/i> \u6771\u6e2f\u8fce\u738b\u6587\u5316\n      <\/div>\n      <h1 class=\"serif-title text-2xl md:text-3xl font-black gold-text tracking-widest flex items-center justify-center gap-2\">\n        <span class=\"text-red-500\"><i class=\"fa-solid fa-gopuran\"><\/i><\/span>\n        \u5c4f\u6771\u4ee3\u5929\u5e9c\u738b\u8239\u795e\u7c64\n      <\/h1>\n      <p class=\"text-xs text-amber-200 mt-2 tracking-wider font-light\">\u606d\u8acb\u738b\u723a\u958b\u6069\u793a\u4e0b \u00b7 \u7948\u6c42\u98a8\u8abf\u96e8\u9806 \u00b7 \u570b\u6cf0\u6c11\u5b89<\/p>\n    <\/div>\n\n    <!-- \u4e3b\u8981\u5167\u5bb9\u5207\u63db\u5340\u57df -->\n    <div class=\"p-6 relative min-h-[450px] flex flex-col justify-between\">\n      \n      <!-- \u6b65\u9a5f 1\uff1a\u8654\u8aa0\u7948\u798f\u8207\u8cc7\u6599\u8f38\u5165 -->\n      <div id=\"step-intro\" class=\"space-y-6\">\n        <div class=\"bg-black bg-opacity-40 p-4 rounded-lg border border-stone-800 text-sm leading-relaxed text-stone-300\">\n          <p class=\"mb-2 font-semibold text-amber-400\"><i class=\"fa-solid fa-circle-info mr-1\"><\/i> \u8fce\u738b\u796d\u5178\u8207\u738b\u8239\u6587\u5316\uff1a<\/p>\n          \u5c4f\u6771\u6771\u6e2f\u3001\u5c0f\u7409\u7403\u8207\u842c\u4e39\u7b49\u5730\u7684\u8fce\u738b\u5e73\u5b89\u796d\u5178\uff0c\u662f\u53f0\u7063\u6975\u5177\u4ee3\u8868\u6027\u7684\u7121\u5f62\u6587\u5316\u8cc7\u7522\u3002\u672c\u7cfb\u7d71\u7279\u8acb\u4ee3\u5929\u5de1\u72e9\u5927\u5343\u6b72\u8207\u6eab\u5e9c\u5343\u6b72\u795e\u9748\u6191\u4f9d\uff0c\u7948\u9858\u6c42\u7c64\u3002\u8acb\u5148\u6de8\u5fc3\u8aa0\u610f\uff0c\u5411\u795e\u660e\u7a1f\u5831\u60a8\u7684\u500b\u4eba\u8cc7\u8a0a\u3002\n        <\/div>\n\n        <div class=\"space-y-4\">\n          <div>\n            <label class=\"block text-amber-300 text-sm font-semibold mb-2\"><i class=\"fa-solid fa-user mr-1\"><\/i> \u4fe1\u58eb\/\u4fe1\u5973 \u59d3\u540d<\/label>\n            <input type=\"text\" id=\"user-name\" placeholder=\"\u8acb\u8f38\u5165\u59d3\u540d\uff08\u4f8b\u5982\uff1a\u738b\u5c0f\u660e\uff09\" class=\"w-full bg-stone-900 border border-amber-600 border-opacity-50 rounded-lg py-2.5 px-4 text-stone-100 placeholder-stone-600 focus:outline-none focus:border-amber-400 focus:ring-1 focus:ring-amber-400\">\n          <\/div>\n          <div>\n            <label class=\"block text-amber-300 text-sm font-semibold mb-2\"><i class=\"fa-solid fa-comment-medical mr-1\"><\/i> \u7948\u6c42\u8acb\u793a\u4e4b\u4e8b<\/label>\n            <textarea id=\"user-wish\" rows=\"3\" placeholder=\"\u8acb\u8a73\u7d30\u8aaa\u660e\u60a8\u60f3\u8acb\u793a\u7684\u8ff7\u6d25\u3001\u6c42\u8ca1\u3001\u4e8b\u696d\u3001\u611f\u60c5\u6216\u5065\u5eb7\u4e8b\u5b9c...\" class=\"w-full bg-stone-900 border border-amber-600 border-opacity-50 rounded-lg py-2.5 px-4 text-stone-100 placeholder-stone-600 focus:outline-none focus:border-amber-400 focus:ring-1 focus:ring-amber-400\"><\/textarea>\n          <\/div>\n        <\/div>\n\n        <button onclick=\"startRitual()\" class=\"w-full bg-gradient-to-r from-red-700 to-amber-700 hover:from-red-600 hover:to-amber-600 text-amber-100 font-bold py-3 px-6 rounded-lg shadow-lg border border-yellow-500 border-opacity-30 transition duration-300 transform hover:-translate-y-0.5 active:translate-y-0 text-center tracking-widest text-lg\">\n          <i class=\"fa-solid fa-hands-praying mr-2\"><\/i> \u8654\u8aa0\u5408\u5341 \u00b7 \u958b\u59cb\u8acb\u793a\n        <\/button>\n      <\/div>\n\n\n      <!-- \u6b65\u9a5f 2\uff1a\u6416\u52d5\u7c64\u7b52 -->\n      <div id=\"step-draw\" class=\"hidden text-center space-y-6 py-4\">\n        <p class=\"text-amber-200 text-sm\">\u8acb\u5c08\u5fc3\u9ed8\u5ff5\u5fc3\u9858\uff0c\u7136\u5f8c\u9ede\u64ca\u4e0b\u65b9\u7c64\u7b52\u958b\u59cb\u6416\u7c64\u3002<\/p>\n        \n        <!-- \u7c64\u7b52 SVG \u52d5\u756b\u5bb9\u5668 -->\n        <div class=\"relative w-48 h-64 mx-auto flex items-end justify-center\">\n          \n          <!-- \u98db\u51fa\u7684\u795e\u7c64 (\u5e73\u6642\u96b1\u85cf\uff0c\u52d5\u756b\u6642\u986f\u793a) -->\n          <div id=\"flying-stick\" class=\"absolute bottom-28 w-4 h-40 bg-amber-100 border-2 border-amber-700 rounded-md hidden flex-col justify-between items-center py-4 z-0\">\n            <span class=\"text-[8px] text-red-700 font-bold tracking-tighter\" style=\"writing-mode: vertical-rl;\">\u4ee3\u5929\u5de1\u72e9<\/span>\n            <div class=\"w-1.5 h-1.5 bg-red-600 rounded-full\"><\/div>\n          <\/div>\n\n          <!-- \u7c64\u7b52\u4e3b\u9ad4 -->\n          <div id=\"fortune-barrel\" class=\"relative w-36 h-48 bg-stone-900 rounded-b-3xl border-t-8 border-amber-500 border-x-4 border-b-4 border-stone-700 shadow-2xl z-10 flex flex-col justify-between p-4 overflow-hidden\">\n            <!-- \u7c64\u7b52\u5167\u90e8\u9670\u5f71\u6548\u679c -->\n            <div class=\"absolute inset-0 bg-gradient-to-b from-black via-transparent to-transparent opacity-60\"><\/div>\n            <!-- \u88dd\u98fe\u82b1\u7d0b\uff1a\u738b\u8239\u7c21\u5f71 -->\n            <div class=\"absolute bottom-2 left-0 right-0 text-center opacity-15\">\n              <i class=\"fa-solid fa-ship text-6xl text-amber-300\"><\/i>\n            <\/div>\n            \n            <!-- \u88dd\u6eff\u7684\u7c64\u6728\u982d -->\n            <div class=\"flex justify-around items-end h-full w-full pb-2 relative z-10\">\n              <div class=\"w-2.5 h-36 bg-amber-700 rounded-t transform -rotate-12 translate-x-2\"><\/div>\n              <div class=\"w-2.5 h-40 bg-amber-600 rounded-t transform -rotate-6 translate-x-1\"><\/div>\n              <div class=\"w-2.5 h-38 bg-amber-800 rounded-t transform rotate-3\"><\/div>\n              <div class=\"w-2.5 h-42 bg-amber-600 rounded-t transform rotate-12 -translate-x-1\"><\/div>\n              <div class=\"w-2.5 h-36 bg-amber-700 rounded-t transform rotate-6 -translate-x-2\"><\/div>\n            <\/div>\n            \n            <div class=\"text-xs text-amber-400 font-bold relative z-10 text-center select-none tracking-widest border-t border-amber-600 border-opacity-30 pt-1\">\n              \u6771\u6e2f\u738b\u8239\u7c64\u7b52\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <button id=\"draw-btn\" onclick=\"drawStick()\" class=\"w-full bg-amber-600 hover:bg-amber-500 text-stone-950 font-black py-3 px-6 rounded-lg transition duration-300 transform active:scale-95 text-lg tracking-widest shadow-md\">\n          <i class=\"fa-solid fa-drum-steelpan mr-2\"><\/i> \u6416\u52d5\u7c64\u7b52 \u00b7 \u6c42\u53d6\u4e00\u7c64\n        <\/button>\n      <\/div>\n\n\n      <!-- \u6b65\u9a5f 3\uff1a\u64f2\u7b4a\u78ba\u8a8d\uff08\u3105\u3128\u311a\u02c7 \u3105\u3128\u311f\u02c9\uff09 -->\n      <div id=\"step-toss\" class=\"hidden text-center space-y-6 py-4\">\n        <div class=\"bg-stone-950 bg-opacity-60 p-3 rounded-lg inline-block mx-auto border border-amber-900\">\n          <span class=\"text-xs text-stone-400\">\u60a8\u62bd\u5f97\u7684\u7c64\u865f\uff1a<\/span>\n          <span id=\"drawn-stick-number\" class=\"text-xl font-bold text-amber-400 serif-title px-2\">\u7b2c &#8212; \u7c64<\/span>\n        <\/div>\n        \n        <p class=\"text-stone-300 text-sm max-w-sm mx-auto leading-relaxed\">\n          \u6c42\u5f97\u6b64\u7c64\uff0c\u9700\u9023\u7e8c\u7372\u5f97 <span class=\"text-red-400 font-semibold\">\u4e00\u500b\u8056\u7b4a<\/span>\uff08\u4e00\u5e73\u4e00\u51f8\uff09\u65b9\u80fd\u78ba\u8a8d\u6b64\u70ba\u795e\u660e\u65e8\u610f\u3002\u82e5\u70ba\u7b11\u7b4a\uff08\u96d9\u5e73\uff09\u6216\u9670\u7b4a\uff08\u96d9\u51f8\uff09\uff0c\u5247\u9700\u91cd\u65b0\u6c42\u7c64\u3002\n        <\/p>\n\n        <!-- \u7b4a\u676f 3D \u5c55\u793a\u5340 -->\n        <div class=\"flex justify-center items-center gap-12 h-44 relative my-4\">\n          <!-- \u5de6\u7b4a\u676f -->\n          <div id=\"cup-left\" class=\"w-24 h-24 relative transition-transform duration-300\" style=\"transform: rotate(30deg);\">\n            <!-- \u5e73\u9762\uff08\u6b63\u9762\uff09 -->\n            <svg id=\"cup-left-flat\" class=\"w-full h-full drop-shadow-lg\" viewBox=\"0 0 100 100\">\n              <path d=\"M 10,50 A 40,50 0 0,1 90,50 Z\" fill=\"#b91c1c\" stroke=\"#7f1d1d\" stroke-width=\"3\"><\/path>\n              <!-- \u6728\u7d0b\u88dd\u98fe -->\n              <path d=\"M 20,48 Q 50,40 80,48\" fill=\"none\" stroke=\"#fca5a5\" stroke-width=\"2\" opacity=\"0.4\"><\/path>\n              <path d=\"M 30,44 Q 50,38 70,44\" fill=\"none\" stroke=\"#fca5a5\" stroke-width=\"1.5\" opacity=\"0.3\"><\/path>\n            <\/svg>\n            <!-- \u51f8\u9762\uff08\u80cc\u9762\uff09 -->\n            <svg id=\"cup-left-convex\" class=\"w-full h-full drop-shadow-lg hidden\" viewBox=\"0 0 100 100\">\n              <path d=\"M 10,50 A 40,50 0 0,1 90,50 Z\" fill=\"#7f1d1d\" stroke=\"#450a0a\" stroke-width=\"3\"><\/path>\n              <!-- \u7acb\u9ad4\u9670\u5f71\u7dda\uff0c\u6a21\u64ec3D\u5f27\u5ea6 -->\n              <path d=\"M 10,50 Q 50,85 90,50\" fill=\"none\" stroke=\"#b91c1c\" stroke-width=\"8\" opacity=\"0.8\"><\/path>\n              <path d=\"M 15,50 Q 50,95 85,50\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2\" opacity=\"0.5\"><\/path>\n              <path d=\"M 50,50 L 50,95\" fill=\"none\" stroke=\"#450a0a\" stroke-width=\"3\" opacity=\"0.6\"><\/path>\n            <\/svg>\n          <\/div>\n\n          <!-- \u53f3\u7b4a\u676f -->\n          <div id=\"cup-right\" class=\"w-24 h-24 relative transition-transform duration-300\" style=\"transform: rotate(-30deg);\">\n            <!-- \u5e73\u9762\uff08\u6b63\u9762\uff09 -->\n            <svg id=\"cup-right-flat\" class=\"w-full h-full drop-shadow-lg\" viewBox=\"0 0 100 100\">\n              <path d=\"M 90,50 A 40,50 0 0,1 10,50 Z\" fill=\"#b91c1c\" stroke=\"#7f1d1d\" stroke-width=\"3\"><\/path>\n              <!-- \u6728\u7d0b\u88dd\u98fe -->\n              <path d=\"M 80,48 Q 50,40 20,48\" fill=\"none\" stroke=\"#fca5a5\" stroke-width=\"2\" opacity=\"0.4\"><\/path>\n              <path d=\"M 70,44 Q 50,38 30,44\" fill=\"none\" stroke=\"#fca5a5\" stroke-width=\"1.5\" opacity=\"0.3\"><\/path>\n            <\/svg>\n            <!-- \u51f8\u9762\uff08\u80cc\u9762\uff09 -->\n            <svg id=\"cup-right-convex\" class=\"w-full h-full drop-shadow-lg hidden\" viewBox=\"0 0 100 100\">\n              <path d=\"M 90,50 A 40,50 0 0,1 10,50 Z\" fill=\"#7f1d1d\" stroke=\"#450a0a\" stroke-width=\"3\"><\/path>\n              <!-- \u7acb\u9ad4\u9670\u5f71\u7dda\uff0c\u6a21\u64ec3D\u5f27\u5ea6 -->\n              <path d=\"M 90,50 Q 50,85 10,50\" fill=\"none\" stroke=\"#b91c1c\" stroke-width=\"8\" opacity=\"0.8\"><\/path>\n              <path d=\"M 85,50 Q 50,95 15,50\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2\" opacity=\"0.5\"><\/path>\n              <path d=\"M 50,50 L 50,95\" fill=\"none\" stroke=\"#450a0a\" stroke-width=\"3\" opacity=\"0.6\"><\/path>\n            <\/svg>\n          <\/div>\n        <\/div>\n\n        <!-- \u64f2\u7b4a\u7d50\u679c\u986f\u793a -->\n        <div id=\"toss-result-text\" class=\"h-10 text-xl font-bold serif-title text-yellow-400\">\n          <!-- \u64f2\u7b4a\u7d50\u679c\u52d5\u614b\u5beb\u5165 -->\n        <\/div>\n\n        <div class=\"flex gap-4\">\n          <button id=\"toss-btn\" onclick=\"tossCups()\" class=\"flex-1 bg-red-700 hover:bg-red-600 text-stone-100 font-bold py-3 px-6 rounded-lg transition duration-300 transform active:scale-95 tracking-widest text-lg border border-yellow-500 border-opacity-30\">\n            <i class=\"fa-solid fa-hands mr-1\"><\/i> \u62cb\u676f\u8acb\u793a (\u3105\u3128\u311a\u02c7\u676f)\n          <\/button>\n          <button id=\"restart-draw-btn\" onclick=\"backToDraw()\" class=\"bg-stone-800 hover:bg-stone-700 text-stone-300 px-4 rounded-lg text-sm border border-stone-700 hidden\">\n            \u91cd\u62bd\u4e00\u7c64\n          <\/button>\n        <\/div>\n      <\/div>\n\n\n      <!-- \u6b65\u9a5f 4\uff1a\u986f\u793a\u7cbe\u7f8e\u738b\u8239\u7c64\u8a69 -->\n      <div id=\"step-result\" class=\"hidden space-y-6 text-center\">\n        <div class=\"border-4 double border-amber-600 p-6 bg-amber-50 bg-opacity-5 rounded-lg relative overflow-hidden\">\n          \n          <!-- \u80cc\u666f\u88dd\u98fe\u5927\u5713\u5370\u7ae0 -->\n          <div class=\"absolute -right-6 -bottom-6 w-32 h-32 border-4 border-red-800 border-opacity-10 rounded-full flex items-center justify-center text-red-800 text-opacity-10 font-black text-6xl serif-title select-none rotate-12\">\n            \u738b\u8239\n          <\/div>\n\n          <!-- \u7c64\u982d -->\n          <div class=\"flex justify-between items-center border-b border-amber-600 border-opacity-40 pb-3 mb-4\">\n            <div class=\"text-left\">\n              <span class=\"text-xs text-amber-400 block\">\u6771\u6e2f\u738b\u8239\u5edf\u5b87\u795e\u7c64<\/span>\n              <span id=\"poem-id\" class=\"text-lg font-bold text-amber-500 serif-title\">\u7b2c \u4e00 \u7c64<\/span>\n            <\/div>\n            <div id=\"poem-level\" class=\"bg-red-800 text-amber-200 text-xs px-2.5 py-1 rounded font-bold tracking-widest\">\n              \u5927\u5409\n            <\/div>\n          <\/div>\n\n          <!-- \u7c64\u8a69\u672c\u6587 -->\n          <div class=\"py-4 space-y-3\">\n            <p id=\"poem-sentence-1\" class=\"text-lg md:text-xl font-bold serif-title text-stone-100 tracking-widest\">\n              \u738b\u8239\u9806\u98a8\u9f13\u6d6a\u958b\n            <\/p>\n            <p id=\"poem-sentence-2\" class=\"text-lg md:text-xl font-bold serif-title text-stone-100 tracking-widest\">\n              \u5343\u6b72\u5de1\u72e9\u798f\u904b\u4f86\n            <\/p>\n            <p id=\"poem-sentence-3\" class=\"text-lg md:text-xl font-bold serif-title text-stone-100 tracking-widest\">\n              \u5408\u5883\u5e73\u5b89\u7686\u5f97\u6176\n            <\/p>\n            <p id=\"poem-sentence-4\" class=\"text-lg md:text-xl font-bold serif-title text-stone-100 tracking-widest\">\n              \u8b00\u4e8b\u6c42\u8ca1\u9326\u7e61\u683d\n            <\/p>\n          <\/div>\n\n          <!-- \u89e3\u7c64\u5340 -->\n          <div class=\"border-t border-amber-600 border-opacity-40 pt-4 mt-4 text-left text-sm space-y-2 text-stone-300\">\n            <div class=\"flex\"><span class=\"text-amber-400 font-bold w-16 shrink-0\"><i class=\"fa-solid fa-person-digging mr-1\"><\/i> \u8b00\u4e8b\uff1a<\/span><span id=\"interpretation-job\">\u795e\u660e\u8b77\u4f51\uff0c\u842c\u4e8b\u4ea8\u901a\u3002<\/span><\/div>\n            <div class=\"flex\"><span class=\"text-amber-400 font-bold w-16 shrink-0\"><i class=\"fa-solid fa-coins mr-1\"><\/i> \u6c42\u8ca1\uff1a<\/span><span id=\"interpretation-money\">\u8ca1\u904b\u81e8\u9580\uff0c\u9806\u6c34\u63a8\u821f\u3002<\/span><\/div>\n            <div class=\"flex\"><span class=\"text-amber-400 font-bold w-16 shrink-0\"><i class=\"fa-solid fa-heart mr-1\"><\/i> \u611f\u60c5\uff1a<\/span><span id=\"interpretation-love\">\u4f73\u5076\u5929\u6210\uff0c\u767e\u5e74\u597d\u5408\u3002<\/span><\/div>\n            <div class=\"flex\"><span class=\"text-amber-400 font-bold w-16 shrink-0\"><i class=\"fa-solid fa-notes-medical mr-1\"><\/i> \u5065\u5eb7\uff1a<\/span><span id=\"interpretation-health\">\u6709\u738b\u723a\u5e87\u4f51\uff0c\u4fdd\u5e87\u5e73\u5b89\u3002<\/span><\/div>\n          <\/div>\n        <\/div>\n\n        <!-- \u6309\u9215\u7fa4 -->\n        <div class=\"space-y-3\">\n          <!-- \u8056\u676f\u5c08\u5c6c\u5206\u4eab\u8207\u62bd\u734e\u6309\u9215 -->\n          <button onclick=\"shareResult()\" class=\"w-full bg-gradient-to-r from-amber-500 via-yellow-500 to-amber-600 hover:from-amber-400 hover:to-yellow-400 text-stone-950 font-black py-3 px-6 rounded-lg transition duration-300 text-sm tracking-widest shadow-lg flex items-center justify-center gap-2 transform hover:scale-[1.02] active:scale-95\">\n            <i class=\"fa-solid fa-gift text-lg animate-bounce\"><\/i>\n            \u8907\u88fd\u7c64\u8a69\u4e26\u524d\u5f80\u62bd\u734e\u6d3b\u52d5\u9801\u9762\n          <\/button>\n          \n          <button onclick=\"restartAll()\" class=\"w-full bg-stone-900 hover:bg-stone-800 text-amber-400 font-bold py-2.5 px-6 rounded-lg border border-amber-700 border-opacity-40 transition duration-300 text-sm tracking-widest\">\n            \u611f\u8b1d\u795e\u6069 \u00b7 \u91cd\u65b0\u8acb\u793a\n          <\/button>\n        <\/div>\n      <\/div>\n\n    <\/div>\n\n    <!-- \u5e95\u90e8\u7248\u6b0a & \u5c4f\u6771\u6587\u5316\u610f\u8c61 -->\n    <div class=\"bg-black bg-opacity-70 py-3 px-6 text-center text-[10px] text-stone-500 border-t border-stone-900 flex justify-between items-center\">\n      <span>\u00a9 \u5c4f\u6771\u8fce\u738b\u5e73\u5b89\u796d\u5178\u6587\u5316\u63a8\u5ee3<\/span>\n      <span class=\"text-amber-600\"><i class=\"fa-solid fa-anchor\"><\/i> \u6b72\u6b21\u4e19\u5348\u5e74\u738b\u8239\u5efa\u9020\u76db\u5178<\/span>\n    <\/div>\n\n  <\/div>\n\n  <!-- \u81ea\u8a02\u63d0\u793a\u8996\u7a97 (\u53d6\u4ee3 alert) -->\n  <div id=\"custom-toast\" class=\"fixed top-5 left-1\/2 -translate-x-1\/2 bg-stone-900 border border-amber-500 text-amber-200 px-6 py-3 rounded-lg shadow-2xl z-50 transform -translate-y-20 opacity-0 transition-all duration-300 pointer-events-none text-sm font-semibold flex items-center gap-2\">\n    <i class=\"fa-solid fa-bell text-amber-400\"><\/i>\n    <span id=\"toast-message\">\u63d0\u793a\u8a0a\u606f<\/span>\n  <\/div>\n\n  <script>\n    \/\/ --- \u8072\u97f3\u5f15\u64ce (Web Audio API) ---\n    const AudioEngine = {\n      ctx: null,\n      \n      init() {\n        if (!this.ctx) {\n          this.ctx = new (window.AudioContext || window.webkitAudioContext)();\n        }\n      },\n      \n      \/\/ \u6a21\u64ec\u6728\u88fd\u7c64\u6728\u6469\u64e6\u6643\u52d5\u8072\n      playShake() {\n        this.init();\n        const duration = 1.5;\n        const now = this.ctx.currentTime;\n        \n        for (let i = 0; i < 15; i++) {\n          const hitTime = now + (Math.random() * duration);\n          const osc = this.ctx.createOscillator();\n          const gain = this.ctx.createGain();\n          \n          osc.type = 'triangle';\n          osc.frequency.setValueAtTime(100 + Math.random() * 80, hitTime);\n          osc.frequency.exponentialRampToValueAtTime(30, hitTime + 0.08);\n          \n          gain.gain.setValueAtTime(0.08, hitTime);\n          gain.gain.exponentialRampToValueAtTime(0.01, hitTime + 0.08);\n          \n          osc.connect(gain);\n          gain.connect(this.ctx.destination);\n          \n          osc.start(hitTime);\n          osc.stop(hitTime + 0.09);\n        }\n      },\n      \n      \/\/ \u6a21\u64ec\u91cd\u6728\u8cea\u7b4a\u676f\u843d\u5730\u6572\u64ca\u8072\n      playTossDrop() {\n        this.init();\n        const now = this.ctx.currentTime;\n        \n        this.createWoodClick(now, 150, 0.5);\n        this.createWoodClick(now + 0.15, 130, 0.25);\n        this.createWoodClick(now + 0.28, 120, 0.12);\n      },\n      \n      createWoodClick(time, baseFreq, vol) {\n        const osc = this.ctx.createOscillator();\n        const gain = this.ctx.createGain();\n        \n        osc.type = 'sine';\n        osc.frequency.setValueAtTime(baseFreq, time);\n        osc.frequency.exponentialRampToValueAtTime(40, time + 0.12);\n        \n        gain.gain.setValueAtTime(vol, time);\n        gain.gain.exponentialRampToValueAtTime(0.001, time + 0.12);\n        \n        const filter = this.ctx.createBiquadFilter();\n        filter.type = 'lowpass';\n        filter.frequency.setValueAtTime(250, time);\n        \n        osc.connect(filter);\n        filter.connect(gain);\n        gain.connect(this.ctx.destination);\n        \n        osc.start(time);\n        osc.stop(time + 0.15);\n      }\n    };\n\n    \/\/ --- \u738b\u8239\u795e\u7c64\u8cc7\u6599\u5eab (\u517112\u7c64) ---\n    const fortuneDatabase = [\n      {\n        id: \"\u7b2c\u4e00\u7c64\",\n        level: \"\u5927\u5409\",\n        sentences: [\"\u738b\u8239\u9806\u98a8\u9f13\u6d6a\u958b\", \"\u5343\u6b72\u5de1\u72e9\u798f\u904b\u4f86\", \"\u5408\u5883\u5e73\u5b89\u7686\u5f97\u6176\", \"\u8b00\u4e8b\u6c42\u8ca1\u9326\u7e61\u683d\"],\n        job: \"\u6709\u8cb4\u4eba\u76f8\u52a9\uff0c\u9806\u6c34\u63a8\u821f\uff0c\u51e1\u4e8b\u7686\u80fd\u5713\u6eff\u3002\",\n        money: \"\u8ca1\u6e90\u5ee3\u9032\uff0c\u5982\u738b\u8239\u6eff\u8f09\u800c\u6b78\u3002\",\n        love: \"\u5929\u4f5c\u4e4b\u5408\uff0c\u611f\u60c5\u751c\u871c\uff0c\u6709\u671b\u958b\u82b1\u7d50\u679c\u3002\",\n        health: \"\u8eab\u5fc3\u5b89\u6cf0\uff0c\u5bbf\u75be\u5f97\u7652\uff0c\u738b\u723a\u8b77\u6301\u7121\u6182\u3002\"\n      },\n      {\n        id: \"\u7b2c\u4e8c\u7c64\",\n        level: \"\u4e0a\u5409\",\n        sentences: [\"\u6771\u9686\u724c\u6a13\u8000\u9ec3\u91d1\", \"\u6eab\u5e9c\u5343\u6b72\u4fdd\u4eba\u5fc3\", \"\u8654\u8aa0\u7948\u6c42\u7121\u4e0d\u61c9\", \"\u5bb6\u9580\u8208\u65fa\u503c\u5343\u91d1\"],\n        job: \"\u811a\u8e0f\u5be6\u5730\uff0c\u8aa0\u61c7\u5f85\u4eba\uff0c\u5347\u9077\u5728\u671b\u3002\",\n        money: \"\u504f\u8ca1\u6709\u9a5a\u559c\uff0c\u6b63\u8ca1\u7a69\u5065\u589e\u9577\u3002\",\n        love: \"\u7de3\u5206\u5df2\u5230\uff0c\u8aa0\u5fc3\u4ea4\u6d41\uff0c\u5f7c\u6b64\u80fd\u4e92\u76f8\u9ad4\u8ad2\u3002\",\n        health: \"\u591a\u884c\u5584\u4e8b\uff0c\u795e\u660e\u81ea\u4fdd\uff0c\u8eab\u9ad4\u5065\u5eb7\u7121\u7919\u3002\"\n      },\n      {\n        id: \"\u7b2c\u4e09\u7c64\",\n        level: \"\u4e2d\u5409\",\n        sentences: [\"\u4e03\u89d2\u982d\u9f4a\u5c55\u795e\u5a01\", \"\u62ac\u8f4e\u8fce\u795e\u986f\u5149\u8f1d\", \"\u540c\u5fc3\u5354\u529b\u8fa6\u76db\u4e8b\", \"\u529f\u6210\u540d\u5c31\u51f1\u65cb\u6b78\"],\n        job: \"\u5718\u9ad4\u5408\u4f5c\u662f\u6210\u529f\u7684\u95dc\u9375\uff0c\u83ab\u901e\u500b\u4eba\u82f1\u96c4\u3002\",\n        money: \"\u5408\u5925\u6295\u8cc7\u6709\u5229\uff0c\u4f46\u5e33\u76ee\u9700\u660e\uff0c\u65b9\u80fd\u805a\u8ca1\u3002\",\n        love: \"\u9700\u7d93\u4ed6\u4eba\u727d\u7dda\u53ef\u6210\uff0c\u591a\u807d\u9577\u8f29\u610f\u898b\u3002\",\n        health: \"\u6ce8\u610f\u95dc\u7bc0\u8207\u7b4b\u9aa8\u75e0\u75db\uff0c\u591a\u4f11\u606f\u5373\u53ef\u3002\"\n      },\n      {\n        id: \"\u7b2c\u56db\u7c64\",\n        level: \"\u4e2d\u5e73\",\n        sentences: [\"\u9020\u8239\u5ee0\u5167\u7422\u826f\u6750\", \"\u5343\u939a\u767e\u934a\u9020\u8239\u6845\", \"\u6642\u6a5f\u672a\u81f3\u9700\u5fcd\u8010\", \"\u5f85\u7b49\u958b\u5149\u5927\u5c55\u624d\"],\n        job: \"\u76ee\u524d\u5728\u78e8\u7df4\u671f\uff0c\u975c\u4e0b\u5fc3\u7d2f\u7a4d\u5be6\u529b\uff0c\u6642\u4f86\u904b\u8f49\u3002\",\n        money: \"\u5b88\u6210\u70ba\u4e0a\uff0c\u4e0d\u5b9c\u5927\u8209\u6295\u8cc7\uff0c\u5fcc\u6295\u6a5f\u5192\u96aa\u3002\",\n        love: \"\u597d\u4e8b\u591a\u78e8\uff0c\u9700\u7d66\u5c0d\u65b9\u591a\u4e00\u9ede\u7a7a\u9593\u8207\u6642\u9593\u3002\",\n        health: \"\u7cbe\u795e\u58d3\u529b\u8f03\u5927\uff0c\u5efa\u8b70\u89aa\u8fd1\u81ea\u7136\u6216\u524d\u53bb\u53c3\u62dc\u5927\u5343\u6b72\u3002\"\n      },\n      {\n        id: \"\u7b2c\u4e94\u7c64\",\n        level: \"\u5409\",\n        sentences: [\"\u8fce\u738b\u5927\u5178\u5f69\u5098\u98db\", \"\u795e\u8f4e\u8d77\u99d5\u4e0d\u5fa9\u56de\", \"\u6383\u9664\u761f\u75ab\u9664\u4e0d\u7965\", \"\u8fce\u5f97\u6eff\u5ba4\u6625\u98a8\u96a8\"],\n        job: \"\u5148\u524d\u963b\u7919\u4f60\u7684\u5c0f\u4eba\u8207\u56f0\u96e3\u5c07\u6f38\u6f38\u6d88\u6563\uff0c\u8fce\u4f86\u65b0\u6c23\u8c61\u3002\",\n        money: \"\u50b5\u52d9\u53ef\u89e3\uff0c\u8ca1\u52d9\u9ed1\u6d1e\u6f38\u5e73\uff0c\u6536\u652f\u8f49\u8da8\u5e73\u8861\u3002\",\n        love: \"\u8aa4\u6703\u5373\u5c07\u51b0\u91cb\uff0c\u4e3b\u52d5\u793a\u597d\u80fd\u91cd\u4fee\u820a\u597d\u3002\",\n        health: \"\u5c0f\u611f\u5192\u6216\u904e\u654f\u80fd\u5f88\u5feb\u75ca\u7652\uff0c\u6ce8\u91cd\u751f\u6d3b\u4f5c\u606f\u3002\"\n      },\n      {\n        id: \"\u7b2c\u516d\u7c64\",\n        level: \"\u4e0b\u4e0b\",\n        sentences: [\"\u98a8\u6d6a\u963b\u9014\u8239\u96e3\u958b\", \"\u96f2\u906e\u6708\u8272\u60f9\u5875\u57c3\", \"\u6b64\u6642\u4e0d\u5b9c\u5f37\u51fa\u982d\", \"\u9589\u9580\u975c\u601d\u907f\u798d\u707d\"],\n        job: \"\u4e0d\u5b9c\u8f49\u8077\u3001\u5275\u696d\uff0c\u51e1\u4e8b\u4f4e\u8abf\uff0c\u9632\u5c0f\u4eba\u4e2d\u50b7\u3002\",\n        money: \"\u6050\u6709\u7834\u8ca1\u4e4b\u865e\uff0c\u51fa\u9580\u770b\u597d\u8ca1\u7269\uff0c\u5fcc\u501f\u8cb8\u7d66\u4ed6\u4eba\u3002\",\n        love: \"\u53e3\u89d2\u7d1b\u722d\u591a\uff0c\u5207\u5fcc\u610f\u6c23\u7528\u4e8b\uff0c\u5426\u5247\u7de3\u76e1\u65bc\u6b64\u3002\",\n        health: \"\u6ce8\u610f\u7a81\u767c\u6027\u75be\u75c5\uff0c\u5c24\u5176\u662f\u5fc3\u8840\u7ba1\u8207\u8178\u80c3\uff0c\u8acb\u901f\u5c31\u91ab\u3002\"\n      },\n      {\n        id: \"\u7b2c\u4e03\u7c64\",\n        level: \"\u4e2d\u5409\",\n        sentences: [\"\u8acb\u6c34\u5100\u5f0f\u5411\u6d77\u6c42\", \"\u8aa0\u5fc3\u606d\u8fce\u8056\u99d5\u7559\", \"\u9ede\u9ede\u5fae\u8292\u7686\u662f\u795e\", \"\u6101\u7709\u89e3\u958b\u89e3\u5343\u6101\"],\n        job: \"\u82e6\u76e1\u7518\u4f86\uff0c\u5148\u524d\u7684\u52aa\u529b\u7d42\u65bc\u88ab\u4e3b\u7ba1\u770b\u898b\u3002\",\n        money: \"\u6709\u610f\u5916\u4e4b\u8ca1\uff0c\u53ef\u9069\u5ea6\u7292\u8cde\u81ea\u5df1\uff0c\u4f46\u4ecd\u9700\u5132\u84c4\u3002\",\n        love: \"\u5e73\u6de1\u4e2d\u898b\u771f\u60c5\uff0c\u771f\u8aa0\u5f85\u4eba\u5fc5\u6709\u56de\u97ff\u3002\",\n        health: \"\u5bbf\u75be\u6709\u826f\u91ab\u51fa\u73fe\uff0c\u9075\u5f9e\u91ab\u56d1\u53ef\u671b\u597d\u8f49\u3002\"\n      },\n      {\n        id: \"\u7b2c\u516b\u7c64\",\n        level: \"\u4e2d\u5e73\",\n        sentences: [\"\u738b\u8239\u9ede\u775b\u8000\u96d9\u7738\", \"\u5927\u5343\u6b72\u5de1\u56db\u6d77\u821f\", \"\u5584\u60e1\u5206\u660e\u7686\u6709\u5831\", \"\u884c\u6b63\u5fc3\u5bec\u7121\u6182\u6101\"],\n        job: \"\u79c9\u6301\u6b63\u9053\uff0c\u516c\u9053\u81ea\u5728\u4eba\u5fc3\uff0c\u4e0d\u8207\u5c0f\u4eba\u722d\u9577\u77ed\u3002\",\n        money: \"\u5e73\u5e73\uff0c\u4e00\u5206\u8015\u8018\u4e00\u5206\u6536\u7372\uff0c\u83ab\u5f37\u6c42\u7121\u7fa9\u4e4b\u8ca1\u3002\",\n        love: \"\u9069\u5408\u5766\u8aa0\u76f8\u5c0d\uff0c\u96b1\u779e\u5c07\u6703\u9020\u6210\u65e5\u5f8c\u66f4\u5927\u7684\u88c2\u75d5\u3002\",\n        health: \"\u773c\u90e8\u3001\u982d\u90e8\u4e0d\u9069\uff0c\u5c11\u7528\u96fb\u5b50\u7522\u54c1\uff0c\u591a\u4f11\u606f\u3002\"\n      },\n      {\n        id: \"\u7b2c\u4e5d\u7c64\",\n        level: \"\u4e0a\u5409\",\n        sentences: [\"\u71d2\u738b\u8239\u6642\u5316\u706b\u5149\", \"\u5343\u6b72\u529f\u6210\u99d5\u5929\u822a\", \"\u7559\u4e0b\u4eba\u9593\u7686\u798f\u6fa4\", \"\u4ee3\u4ee3\u660c\u76db\u842c\u5e74\u9577\"],\n        job: \"\u7a81\u7834\u74f6\u9838\uff0c\u5c07\u8fce\u4f86\u968e\u6bb5\u6027\u7684\u5927\u6210\u529f\uff0c\u540d\u8072\u5927\u566a\u3002\",\n        money: \"\u8ca1\u904b\u5927\u4ea8\uff0c\u9069\u5408\u898f\u5283\u9577\u9060\u7406\u8ca1\u6216\u8cfc\u7f6e\u623f\u7522\u3002\",\n        love: \"\u6069\u611b\u767d\u982d\uff0c\u5bb6\u5ead\u751f\u6d3b\u5e78\u798f\u7f8e\u6eff\u3002\",\n        health: \"\u795e\u6e05\u6c23\u723d\uff0c\u7cbe\u6c23\u795e\u5341\u8db3\uff0c\u7dad\u6301\u904b\u52d5\u5373\u53ef\u3002\"\n      },\n      {\n        id: \"\u7b2c\u5341\u7c64\",\n        level: \"\u5409\",\n        sentences: [\"\u73ed\u982d\u56b4\u8085\u7acb\u5169\u65c1\", \"\u677f\u6572\u5a01\u9707\u6563\u90aa\u9b45\", \"\u6b63\u6c23\u6d69\u7136\u884c\u5927\u9053\", \"\u81ea\u7136\u798f\u58fd\u4fdd\u7dbf\u9577\"],\n        job: \"\u5f97\u9577\u8f29\u3001\u9577\u5b98\u63d0\u651c\uff0c\u505a\u4e8b\u4e8b\u534a\u529f\u500d\u3002\",\n        money: \"\u8ca1\u904b\u7a69\u5b9a\uff0c\u6295\u8cc7\u6709\u65b9\uff0c\u53ef\u807d\u53d6\u5c08\u696d\u4eba\u58eb\u5efa\u8b70\u3002\",\n        love: \"\u6709\u6a5f\u6703\u9047\u5230\u6210\u719f\u7a69\u91cd\u3001\u80fd\u6307\u5f15\u4f60\u4eba\u751f\u7684\u4f34\u4fb6\u3002\",\n        health: \"\u9aa8\u9abc\u3001\u95dc\u7bc0\u9700\u6ce8\u610f\u4fdd\u8b77\uff0c\u904b\u52d5\u524d\u505a\u597d\u71b1\u8eab\u3002\"\n      },\n      {\n        id: \"\u7b2c\u5341\u4e00\u7c64\",\n        level: \"\u4e2d\u4e0b\",\n        sentences: [\"\u738b\u8239\u6dfb\u8f09\u7269\u96d6\u8c50\", \"\u98a8\u96e8\u98c4\u6416\u9727\u6726\u6727\", \"\u8235\u624b\u5931\u795e\u8ff7\u65b9\u5411\", \"\u8aa0\u7948\u795e\u7950\u51fa\u8ff7\u5bae\"],\n        job: \"\u9762\u81e8\u9078\u64c7\u5341\u5b57\u8def\u53e3\uff0c\u611f\u5230\u8ff7\u832b\uff0c\u5efa\u8b70\u8acb\u6559\u524d\u8f29\u3002\",\n        money: \"\u5207\u5fcc\u8ddf\u98a8\u7092\u80a1\u3001\u6295\u8cc7\uff0c\u5426\u5247\u8840\u672c\u7121\u6b78\u3002\",\n        love: \"\u96d9\u65b9\u6e9d\u901a\u4e0d\u826f\uff0c\u5404\u6301\u5df1\u898b\uff0c\u9700\u51b7\u975c\u5e7e\u5929\u3002\",\n        health: \"\u6613\u6709\u5931\u7720\u3001\u591a\u5922\u3001\u7cbe\u795e\u8017\u5f31\u73fe\u8c61\uff0c\u5b9c\u5b89\u795e\u4fee\u5fc3\u3002\"\n      },\n      {\n        id: \"\u7b2c\u5341\u4e8c\u7c64\",\n        level: \"\u4e2d\u5409\",\n        sentences: [\"\u6771\u6e2f\u6a4b\u982d\u6d41\u6c34\u6e05\", \"\u738b\u723a\u5edf\u524d\u9f13\u6a02\u8072\", \"\u7948\u798f\u8a31\u9858\u591a\u9806\u9042\", \"\u5bb6\u548c\u4e8b\u8208\u4eab\u592a\u5e73\"],\n        job: \"\u8077\u5834\u4eba\u969b\u95dc\u4fc2\u878d\u6d3d\uff0c\u5408\u4f5c\u6109\u5feb\uff0c\u696d\u52d9\u84b8\u84b8\u65e5\u4e0a\u3002\",\n        money: \"\u6b63\u8ca1\u8c50\u539a\uff0c\u526f\u696d\u4e5f\u80fd\u5e36\u4f86\u4e0d\u932f\u7684\u6536\u76ca\u3002\",\n        love: \"\u611f\u60c5\u7a69\u5b9a\u548c\u8ae7\uff0c\u591a\u5b89\u6392\u8207\u5bb6\u4eba\u3001\u4f34\u4fb6\u7684\u65c5\u884c\u3002\",\n        health: \"\u8eab\u9ad4\u72c0\u6cc1\u826f\u597d\uff0c\u591a\u559d\u6c34\uff0c\u591a\u6ce8\u610f\u98f2\u98df\u885b\u751f\u3002\"\n      }\n    ];\n\n    \/\/ --- \u61c9\u7528\u7a0b\u5f0f\u72c0\u614b\u7ba1\u7406 ---\n    let state = {\n      userName: \"\",\n      userWish: \"\",\n      selectedPoem: null,\n      tossCount: 0,\n      consecutiveHolyCups: 0\n    };\n\n    \/\/ --- \u8f14\u52a9\u51fd\u5f0f\uff1a\u986f\u793a\u81ea\u8a02 Toast \u63d0\u793a ---\n    function showToast(message) {\n      const toast = document.getElementById(\"custom-toast\");\n      const toastMsg = document.getElementById(\"toast-message\");\n      toastMsg.innerText = message;\n      \n      toast.classList.remove(\"opacity-0\", \"-translate-y-20\", \"pointer-events-none\");\n      toast.classList.add(\"opacity-100\", \"translate-y-0\");\n      \n      setTimeout(() => {\n        toast.classList.remove(\"opacity-100\", \"translate-y-0\");\n        toast.classList.add(\"opacity-0\", \"-translate-y-20\", \"pointer-events-none\");\n      }, 2500);\n    }\n\n    \/\/ --- \u6b65\u9a5f 1 -> \u6b65\u9a5f 2\uff1a\u958b\u59cb\u5100\u5f0f ---\n    function startRitual() {\n      const nameInput = document.getElementById(\"user-name\").value.trim();\n      const wishInput = document.getElementById(\"user-wish\").value.trim();\n      \n      if (!nameInput) {\n        showToast(\"\u8acb\u8f38\u5165\u60a8\u7684\u59d3\u540d\u4ee5\u5411\u738b\u723a\u7a1f\u5831\u3002\");\n        return;\n      }\n      if (!wishInput) {\n        showToast(\"\u8acb\u8f38\u5165\u60a8\u6240\u6c42\u4e4b\u4e8b\uff0c\u65b9\u80fd\u6307\u9ede\u8ff7\u6d25\u3002\");\n        return;\n      }\n      \n      AudioEngine.init();\n      \n      state.userName = nameInput;\n      state.userWish = wishInput;\n      \n      document.getElementById(\"step-intro\").classList.add(\"hidden\");\n      document.getElementById(\"step-draw\").classList.remove(\"hidden\");\n      \n      showToast(`\u4fe1\u58eb\/\u4fe1\u5973 ${state.userName}\uff0c\u5df2\u5411\u795e\u660e\u7a1f\u5831\u8acb\u793a\u3002`);\n    }\n\n    \/\/ --- STREAMING_CHUNK:Implementing draw and toss mechanics... -->\n    \/\/ --- \u6b65\u9a5f 2\uff1a\u6416\u52d5\u7c64\u7b52\u4e26\u62bd\u7c64 ---\n    function drawStick() {\n      const barrel = document.getElementById(\"fortune-barrel\");\n      const stick = document.getElementById(\"flying-stick\");\n      const drawBtn = document.getElementById(\"draw-btn\");\n      \n      drawBtn.disabled = true;\n      barrel.classList.add(\"shaking\");\n      AudioEngine.playShake();\n      \n      const randomIndex = Math.floor(Math.random() * fortuneDatabase.length);\n      state.selectedPoem = fortuneDatabase[randomIndex];\n      \n      setTimeout(() => {\n        barrel.classList.remove(\"shaking\");\n        stick.classList.remove(\"hidden\");\n        stick.classList.add(\"stick-drawing\");\n        \n        setTimeout(() => {\n          stick.classList.add(\"hidden\");\n          stick.classList.remove(\"stick-drawing\");\n          \n          document.getElementById(\"step-draw\").classList.add(\"hidden\");\n          document.getElementById(\"step-toss\").classList.remove(\"hidden\");\n          \n          document.getElementById(\"drawn-stick-number\").innerText = state.selectedPoem.id;\n          document.getElementById(\"restart-draw-btn\").classList.add(\"hidden\");\n          document.getElementById(\"toss-result-text\").innerText = \"\u7b49\u5f85\u64f2\u7b4a\u78ba\u8a8d...\";\n          document.getElementById(\"toss-btn\").disabled = false;\n          \n          resetCupsUI();\n          \n          showToast(`\u5df2\u6c42\u5f97\u300c${state.selectedPoem.id}\u300d\uff0c\u8acb\u62cb\u676f\u78ba\u8a8d\u795e\u660e\u65e8\u610f\u3002`);\n          drawBtn.disabled = false;\n        }, 1000);\n        \n      }, 1500);\n    }\n\n    function resetCupsUI() {\n      document.getElementById(\"cup-left-flat\").classList.remove(\"hidden\");\n      document.getElementById(\"cup-left-convex\").classList.add(\"hidden\");\n      document.getElementById(\"cup-right-flat\").classList.remove(\"hidden\");\n      document.getElementById(\"cup-right-convex\").classList.add(\"hidden\");\n      document.getElementById(\"cup-left\").style.transform = \"rotate(30deg)\";\n      document.getElementById(\"cup-right\").style.transform = \"rotate(-30deg)\";\n    }\n\n    \/\/ --- \u6b65\u9a5f 3\uff1a\u64f2\u7b4a (\u3105\u3128\u311a\u02c7 \u3105\u3128\u311f\u02c9) ---\n    function tossCups() {\n      const tossBtn = document.getElementById(\"toss-btn\");\n      const restartDrawBtn = document.getElementById(\"restart-draw-btn\");\n      const leftCup = document.getElementById(\"cup-left\");\n      const rightCup = document.getElementById(\"cup-right\");\n      \n      tossBtn.disabled = true;\n      \n      leftCup.classList.remove(\"tossing-left\");\n      rightCup.classList.remove(\"tossing-right\");\n      \n      void leftCup.offsetWidth;\n      void rightCup.offsetWidth;\n      \n      const leftResult = Math.floor(Math.random() * 2);\n      const rightResult = Math.floor(Math.random() * 2);\n      \n      const leftFinalDeg = 30 + (Math.random() * 40 - 20);\n      const rightFinalDeg = -30 + (Math.random() * 40 - 20);\n      \n      leftCup.style.setProperty('--final-transform-left', `rotate(${leftFinalDeg}deg)`);\n      rightCup.style.setProperty('--final-transform-right', `rotate(${rightFinalDeg}deg)`);\n      \n      leftCup.classList.add(\"tossing-left\");\n      rightCup.classList.add(\"tossing-right\");\n      \n      setTimeout(() => {\n        AudioEngine.playTossDrop();\n      }, 700);\n\n      setTimeout(() => {\n        if (leftResult === 0) {\n          document.getElementById(\"cup-left-flat\").classList.remove(\"hidden\");\n          document.getElementById(\"cup-left-convex\").classList.add(\"hidden\");\n        } else {\n          document.getElementById(\"cup-left-flat\").classList.add(\"hidden\");\n          document.getElementById(\"cup-left-convex\").classList.remove(\"hidden\");\n        }\n        \n        if (rightResult === 0) {\n          document.getElementById(\"cup-right-flat\").classList.remove(\"hidden\");\n          document.getElementById(\"cup-right-convex\").classList.add(\"hidden\");\n        } else {\n          document.getElementById(\"cup-right-flat\").classList.add(\"hidden\");\n          document.getElementById(\"cup-right-convex\").classList.remove(\"hidden\");\n        }\n\n        const resultText = document.getElementById(\"toss-result-text\");\n        \n        if (leftResult !== rightResult) {\n          resultText.innerHTML = '<span class=\"text-green-400\"><i class=\"fa-solid fa-circle-check\"><\/i> \u8056\u7b4a\uff01\u795e\u660e\u61c9\u5141<\/span>';\n          showToast(\"\u7372\u5f97\u8056\u7b4a\uff01\u606d\u559c\u6c42\u5f97\u795e\u660e\u65e8\u610f\u3002\");\n          \n          setTimeout(() => {\n            showPoemResult();\n          }, 1500);\n          \n        } else if (leftResult === 0 && rightResult === 0) {\n          resultText.innerHTML = '<span class=\"text-yellow-500\"><i class=\"fa-solid fa-face-smile\"><\/i> \u7b11\u7b4a\uff01\u610f\u6307\u672a\u660e\uff0c\u8acb\u91cd\u62bd<\/span>';\n          showToast(\"\u7b11\u7b4a\u3002\u795e\u660e\u7b11\u800c\u4e0d\u7b54\uff0c\u8acb\u91cd\u62bd\u7c64\u3002\");\n          tossBtn.disabled = true;\n          restartDrawBtn.classList.remove(\"hidden\");\n          \n        } else {\n          resultText.innerHTML = '<span class=\"text-red-500\"><i class=\"fa-solid fa-circle-xmark\"><\/i> \u9670\u7b4a\uff01\u795e\u660e\u4e0d\u5141\uff0c\u8acb\u91cd\u62bd<\/span>';\n          showToast(\"\u9670\u7b4a\u3002\u795e\u660e\u4e0d\u8a8d\u53ef\u6b64\u7c64\uff0c\u8acb\u91cd\u65b0\u62bd\u7c64\u3002\");\n          tossBtn.disabled = true;\n          restartDrawBtn.classList.remove(\"hidden\");\n        }\n        \n      }, 1200);\n    }\n\n    function backToDraw() {\n      document.getElementById(\"step-toss\").classList.add(\"hidden\");\n      document.getElementById(\"step-draw\").classList.remove(\"hidden\");\n    }\n\n    \/\/ --- \u6b65\u9a5f 4\uff1a\u986f\u793a\u7c64\u8a69\u7d50\u679c ---\n    function showPoemResult() {\n      document.getElementById(\"step-toss\").classList.add(\"hidden\");\n      document.getElementById(\"step-result\").classList.remove(\"hidden\");\n      \n      const poem = state.selectedPoem;\n      \n      document.getElementById(\"poem-id\").innerText = poem.id;\n      \n      const levelEl = document.getElementById(\"poem-level\");\n      levelEl.innerText = poem.level;\n      \n      if (poem.level.includes(\"\u5409\")) {\n        levelEl.className = \"bg-red-800 text-amber-200 text-xs px-2.5 py-1 rounded font-bold tracking-widest\";\n      } else if (poem.level.includes(\"\u4e0b\")) {\n        levelEl.className = \"bg-stone-800 text-stone-400 text-xs px-2.5 py-1 rounded font-bold tracking-widest\";\n      } else {\n        levelEl.className = \"bg-amber-700 text-amber-100 text-xs px-2.5 py-1 rounded font-bold tracking-widest\";\n      }\n      \n      document.getElementById(\"poem-sentence-1\").innerText = poem.sentences[0];\n      document.getElementById(\"poem-sentence-2\").innerText = poem.sentences[1];\n      document.getElementById(\"poem-sentence-3\").innerText = poem.sentences[2];\n      document.getElementById(\"poem-sentence-4\").innerText = poem.sentences[3];\n      \n      document.getElementById(\"interpretation-job\").innerText = poem.job;\n      document.getElementById(\"interpretation-money\").innerText = poem.money;\n      document.getElementById(\"interpretation-love\").innerText = poem.love;\n      document.getElementById(\"interpretation-health\").innerText = poem.health;\n    }\n\n    \/\/ --- STREAMING_CHUNK:Configuring lottery redirection and copy triggers... -->\n    \/\/ --- \u6838\u5fc3\u529f\u80fd\uff1a\u8907\u88fd\u5206\u4eab\u7d50\u679c\u4e26\u5c0e\u5411\u62bd\u734e\u6d3b\u52d5\u9801\u9762 ---\n    function shareResult() {\n      const poem = state.selectedPoem;\n      const textToCopy = `\u3010\u5c4f\u6771\u4ee3\u5929\u5e9c\u738b\u8239\u795e\u7c64\u3011\\n\u4fe1\u773e\uff1a${state.userName}\\n\u6c42\u793a\uff1a${state.userWish}\\n\u7d50\u679c\uff1a${poem.id} (${poem.level})\\n\\n\u7c64\u8a69\uff1a\\n${poem.sentences[0]}\\n${poem.sentences[1]}\\n${poem.sentences[2]}\\n${poem.sentences[3]}\\n\\n\u3010\u89e3\u7c64\u3011\\n\u8b00\u4e8b\uff1a${poem.job}\\n\u6c42\u8ca1\uff1a${poem.money}\\n\u611f\u60c5\uff1a${poem.love}\\n\u5065\u5eb7\uff1a${poem.health}\\n\\n\u8654\u8aa0\u53c3\u62dc\uff0c\u7372\u5f97\u8056\u7b4a\uff01\u738b\u723a\u4fdd\u5e87\u5e73\u5b89\uff01\\n\u62bd\u734e\u6d3b\u52d5\u9023\u7d50\uff1ahttps:\/\/c114133108.gowp.space\/team2\/%e6%8a%bd%e7%8d%8e%e6%b4%bb%e5%8b%95\/`;\n      \n      \/\/ \u4f7f\u7528\u76f8\u5bb9\u6027\u9ad8\u7684 execCommand \u8907\u88fd\n      const tempTextArea = document.createElement(\"textarea\");\n      tempTextArea.value = textToCopy;\n      tempTextArea.style.position = \"absolute\";\n      tempTextArea.style.left = \"-9999px\";\n      document.body.appendChild(tempTextArea);\n      tempTextArea.select();\n      \n      let copySuccess = false;\n      try {\n        copySuccess = document.execCommand('copy');\n      } catch (err) {\n        console.error(\"Copy failed\", err);\n      }\n      document.body.removeChild(tempTextArea);\n\n      if (copySuccess) {\n        showToast(\"\u7c64\u8a69\u8907\u88fd\u6210\u529f\uff01\u5373\u5c07\u524d\u5f80\u62bd\u734e\u6d3b\u52d5\u9801\u9762...\");\n      } else {\n        showToast(\"\u5373\u5c07\u70ba\u60a8\u6253\u958b\u62bd\u734e\u6d3b\u52d5\u9801\u9762...\");\n      }\n      \n      \/\/ \u5ef6\u90721\u79d2\u5f8c\u958b\u555f\u6307\u5b9a\u62bd\u734e\u6d3b\u52d5\u9801\u9762\n      setTimeout(() => {\n        window.open(\"https:\/\/c114133108.gowp.space\/team2\/%e6%8a%bd%e7%8d%8e%e6%b4%bb%e5%8b%95\/\", \"_blank\");\n      }, 1000);\n    }\n\n    \/\/ --- \u529f\u80fd\uff1a\u91cd\u8a2d\u4e00\u5207 ---\n    function restartAll() {\n      state = {\n        userName: \"\",\n        userWish: \"\",\n        selectedPoem: null,\n        tossCount: 0,\n        consecutiveHolyCups: 0\n      };\n      \n      document.getElementById(\"user-name\").value = \"\";\n      document.getElementById(\"user-wish\").value = \"\";\n      \n      document.getElementById(\"step-result\").classList.add(\"hidden\");\n      document.getElementById(\"step-intro\").classList.remove(\"hidden\");\n      \n      showToast(\"\u5df2\u91cd\u7f6e\u7cfb\u7d71\uff0c\u6b61\u8fce\u518d\u6b21\u7948\u6c42\u6069\u6fa4\u3002\");\n    }\n  <\/script>\n<\/body>\n<\/html>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5c4f\u6771\u738b\u8239\u8fce\u738b\u796d\u5178 &#8211; \u7dda\u4e0a\u64f2\u7b4a\u62bd\u7c64\u7cfb\u7d71 \u6771\u6e2f\u8fce\u738b\u6587\u5316 \u5c4f\u6771\u4ee3\u5929\u5e9c\u738b\u8239\u795e\u7c64 \u606d\u8acb\u738b\u723a\u958b\u6069\u793a\u4e0b \u00b7 \u7948\u6c42\u98a8\u8abf\u96e8\u9806 \u00b7 \u570b\u6cf0\u6c11\u5b89 \u8fce\u738b\u796d\u5178\u8207\u738b\u8239\u6587\u5316\uff1a \u5c4f\u6771\u6771\u6e2f\u3001\u5c0f\u7409\u7403\u8207\u842c\u4e39\u7b49\u5730\u7684\u8fce\u738b\u5e73\u5b89\u796d\u5178\uff0c\u662f\u53f0\u7063\u6975\u5177\u4ee3\u8868\u6027\u7684\u7121\u5f62\u6587\u5316\u8cc7\u7522\u3002\u672c\u7cfb\u7d71\u7279\u8acb\u4ee3\u5929\u5de1\u72e9\u5927\u5343\u6b72\u8207\u6eab\u5e9c\u5343\u6b72\u795e\u9748\u6191\u4f9d\uff0c\u7948\u9858\u6c42\u7c64\u3002\u8acb\u5148\u6de8\u5fc3\u8aa0\u610f\uff0c\u5411\u795e\u660e\u7a1f\u5831\u60a8\u7684\u500b\u4eba\u8cc7\u8a0a\u3002 \u4fe1\u58eb\/\u4fe1\u5973 \u59d3\u540d \u7948\u6c42\u8acb\u793a\u4e4b\u4e8b \u8654\u8aa0\u5408\u5341 \u00b7 \u958b\u59cb\u8acb\u793a \u8acb\u5c08\u5fc3\u9ed8\u5ff5\u5fc3\u9858\uff0c\u7136\u5f8c\u9ede\u64ca\u4e0b\u65b9\u7c64\u7b52\u958b\u59cb\u6416\u7c64\u3002 \u4ee3\u5929\u5de1\u72e9 \u6771\u6e2f\u738b\u8239\u7c64\u7b52 \u6416\u52d5\u7c64\u7b52 \u00b7 \u6c42\u53d6\u4e00\u7c64 \u60a8\u62bd\u5f97\u7684\u7c64\u865f\uff1a \u7b2c &#8212; \u7c64 \u6c42\u5f97\u6b64\u7c64\uff0c\u9700\u9023\u7e8c\u7372\u5f97 \u4e00\u500b\u8056\u7b4a\uff08\u4e00\u5e73\u4e00\u51f8\uff09\u65b9\u80fd\u78ba\u8a8d\u6b64\u70ba\u795e\u660e\u65e8\u610f\u3002\u82e5\u70ba\u7b11\u7b4a\uff08\u96d9\u5e73\uff09\u6216\u9670\u7b4a\uff08\u96d9\u51f8\uff09\uff0c\u5247\u9700\u91cd\u65b0\u6c42\u7c64\u3002 \u62cb\u676f\u8acb\u793a (\u3105\u3128\u311a\u02c7\u676f) \u91cd\u62bd\u4e00\u7c64 \u738b\u8239 \u6771\u6e2f\u738b\u8239\u5edf\u5b87\u795e\u7c64 \u7b2c \u4e00 \u7c64 \u5927\u5409 \u738b\u8239\u9806\u98a8\u9f13\u6d6a\u958b \u5343\u6b72\u5de1\u72e9\u798f\u904b\u4f86 \u5408\u5883\u5e73\u5b89\u7686\u5f97\u6176 \u8b00\u4e8b\u6c42\u8ca1\u9326\u7e61\u683d \u8b00\u4e8b\uff1a\u795e\u660e\u8b77\u4f51\uff0c\u842c\u4e8b\u4ea8\u901a\u3002 \u6c42\u8ca1\uff1a\u8ca1\u904b\u81e8\u9580\uff0c\u9806\u6c34\u63a8\u821f\u3002 \u611f\u60c5\uff1a\u4f73\u5076\u5929\u6210\uff0c\u767e\u5e74\u597d\u5408\u3002 \u5065\u5eb7\uff1a\u6709\u738b\u723a\u5e87\u4f51\uff0c\u4fdd\u5e87\u5e73\u5b89\u3002 \u8907\u88fd\u7c64\u8a69\u4e26\u524d\u5f80\u62bd\u734e\u6d3b\u52d5\u9801\u9762 \u611f\u8b1d\u795e\u6069 \u00b7 \u91cd\u65b0\u8acb\u793a \u00a9 \u5c4f\u6771\u8fce\u738b\u5e73\u5b89\u796d\u5178\u6587\u5316\u63a8\u5ee3 \u6b72\u6b21\u4e19\u5348\u5e74\u738b\u8239\u5efa\u9020\u76db\u5178 \u63d0\u793a\u8a0a\u606f<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-9516","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/pages\/9516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/comments?post=9516"}],"version-history":[{"count":3,"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/pages\/9516\/revisions"}],"predecessor-version":[{"id":9543,"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/pages\/9516\/revisions\/9543"}],"wp:attachment":[{"href":"https:\/\/c114133108.gowp.space\/team2\/wp-json\/wp\/v2\/media?parent=9516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}