{"id":5668,"date":"2023-12-26T09:42:01","date_gmt":"2023-12-26T01:42:01","guid":{"rendered":"https:\/\/bookmark.tw\/?p=5668"},"modified":"2025-08-07T16:30:50","modified_gmt":"2025-08-07T08:30:50","slug":"gds-30","status":"publish","type":"post","link":"https:\/\/xinliceyan.org\/zh\/gds-30","title":{"rendered":"\u8001\u5e74\u5fe7\u90c1\u75c7\u91cf\u8868\u7ebf\u4e0a\u514d\u8d39\u6d4b\u9a8cGDS-30\uff0830\u9898\uff09"},"content":{"rendered":"<!-- \u8f09\u5165 Bootstrap Icons -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\">\n\n<!-- GDS-30 \u8001\u5e74\u6182\u9b31\u75c7\u91cf\u8868 WordPress \u5d4c\u5165\u4ee3\u78bc -->\n<div id=\"gds30-container\" class=\"gds30-wrapper\">\n    <!-- \u5f15\u5c0e\u9801 -->\n    <section id=\"gds30-intro\" class=\"gds30-page gds30-active\">\n        <div class=\"gds30-intro-hero\">\n            <h2 class=\"gds30-title\">\u8001\u5e74\u6182\u9b31\u75c7\u91cf\u8868(GDS-30)<\/h2>\n            <p class=\"gds30-subtitle\">\u5c08\u696d\u7684\u8001\u5e74\u5fc3\u7406\u5065\u5eb7\u7be9\u67e5\u5de5\u5177<\/p>\n            \n            <div class=\"gds30-features\">\n                <div class=\"gds30-feature-card\">\n                    <div class=\"gds30-icon-wrapper\">\n                        <i class=\"bi bi-shield-check\"><\/i>\n                    <\/div>\n                    <h3>\u5c08\u696d\u53ef\u9760<\/h3>\n                    <p>\u570b\u969b\u8a8d\u53ef\u7684\u6a19\u6e96\u5316\u8a55\u4f30\u5de5\u5177\uff0c\u5df2\u88ab\u5ee3\u6cdb\u61c9\u7528\u65bc\u81e8\u5e8a\u5be6\u8e10<\/p>\n                <\/div>\n                \n                <div class=\"gds30-feature-card\">\n                    <div class=\"gds30-icon-wrapper\">\n                        <i class=\"bi bi-clock\"><\/i>\n                    <\/div>\n                    <h3>\u5feb\u901f\u8bc4\u4f30<\/h3>\n                    <p>\u50c5\u970010\u5206\u9418\u5373\u53ef\u5b8c\u6210\uff0c30\u9053\u7c21\u55ae\u554f\u984c\u7cbe\u6e96\u8a55\u4f30\u5fc3\u7406\u72c0\u614b<\/p>\n                <\/div>\n                \n                <div class=\"gds30-feature-card\">\n                    <div class=\"gds30-icon-wrapper\">\n                        <i class=\"bi bi-graph-up\"><\/i>\n                    <\/div>\n                    <h3>\u89c6\u89c9\u5316\u7ed3\u679c<\/h3>\n                    <p>\u6e05\u6670\u7684\u5716\u8868\u5206\u6790\uff0c\u5e6b\u52a9\u60a8\u66f4\u597d\u5730\u77ad\u89e3\u8a55\u4f30\u7d50\u679c<\/p>\n                <\/div>\n            <\/div>\n            \n            <div class=\"gds30-intro-content\">\n                <h3>\u95dc\u65bc\u9019\u4efd\u8a55\u4f30<\/h3>\n                <p>\u8001\u5e74\u6291\u9b31\u91cf\u8868\uff08The Geriatric Depression Scale\uff0cGDS\uff09\uff0c\u65bc1982\u5e74\u7531Brick\u7b49\u4eba\u5275\u88fd\uff0c\u662f\u5c08\u7528\u65bc56\u6b72\u4ee5\u4e0a\u8001\u5e74\u4eba\u8a2d\u8a08\u7684\u6291\u9b31\u7be9\u67e5\u91cf\u8868\uff0c\u5df2\u88ab\u5404\u570b\u5ee3\u6cdb\u63a5\u53d7\u3002\u5176\u4e3b\u8981\u7528\u9014\u70ba\u5728\u8001\u5e74\u4eba\u4e2d\u7be9\u51fa\u53ef\u80fd\u70ba\u6291\u9b31\u7684\u5c0d\u8c61\uff0c\u4ee5\u4fbf\u9032\u4e00\u6b65\u660e\u78ba\u8a3a\u65b7\u3002<\/p>\n                \n                <div class=\"gds30-highlight-box\">\n                    <h4><i class=\"bi bi-info-circle\"><\/i> \u8a55\u4f30\u8aaa\u660e<\/h4>\n                    <ul>\n                        <li>\u672c\u6e2c\u8a55\u9069\u5408\u8001\u5e74\u4eba\u81ea\u8a55<\/li>\n                        <li>\u517130\u9053\u984c\uff0c\u7528\u6642\u7d0410\u5206\u9418\u3002<\/li>\n                        <li>\u672c\u6e2c\u8a55\u5c07\u77ad\u89e3\u60a8\u6700\u8fd1\u4e00\u9031\u7684\u60c5\u7dd2\u72c0\u6cc1<\/li>\n                        <li>\u6bcf\u9053\u984c\u90fd\u6709\u300c\u662f\u300d\u8207\u300c\u5426\u300d\u5169\u500b\u9078\u9805<\/li>\n                        <li>\u8acb\u6839\u64da\u60a8\u7684\u771f\u5be6\u611f\u53d7\u9078\u64c7\u7b54\u6848<\/li>\n                        <li>\u6240\u6709\u554f\u984c\u90fd\u662f\u5fc5\u7b54\u984c<\/li>\n                    <\/ul>\n                <\/div>\n                \n                <div class=\"gds30-warning-box\">\n                    <p><i class=\"bi bi-exclamation-triangle\"><\/i> <strong>\u91cd\u8981\u63d0\u9192\uff1a<\/strong>\u6b64\u8a55\u4f30\u50c5\u4f9b\u53c3\u8003\u7be9\u67e5\uff0c\u4e0d\u80fd\u66ff\u4ee3\u5c08\u696d\u91ab\u7642\u8a3a\u65b7\u3002\u5982\u6709\u6182\u9b31\u50be\u5411\uff0c\u8acb\u52d9\u5fc5\u5c0b\u6c42\u5c08\u696d\u91ab\u7642\u5354\u52a9\u3002<\/p>\n                <\/div>\n            <\/div>\n            \n            <button class=\"gds30-start-btn\" onclick=\"GDS30App.startAssessment()\">\n                \u958b\u59cb\u8a55\u4f30 <i class=\"bi bi-arrow-right-circle\"><\/i>\n            <\/button>\n        <\/div>\n    <\/section>\n    \n    <!-- \u6e2c\u9a57\u9801 -->\n    <section id=\"gds30-quiz\" class=\"gds30-page\">\n        <h2 class=\"gds30-quiz-title\">\u8001\u5e74\u6182\u9b31\u75c7\u91cf\u8868\u8a55\u4f30<\/h2>\n        \n        <div class=\"gds30-progress-wrapper\">\n            <div class=\"gds30-progress-info\">\n                <span>\u95ee\u9898 <span id=\"gds30-current-num\">1<\/span> \/ 30<\/span>\n            <\/div>\n            <div class=\"gds30-progress-bar\">\n                <div id=\"gds30-progress-fill\" class=\"gds30-progress-fill\"><\/div>\n            <\/div>\n        <\/div>\n        \n        <div class=\"gds30-question-card\">\n            <h3 id=\"gds30-question-text\" class=\"gds30-question\"><\/h3>\n            <div id=\"gds30-options\" class=\"gds30-options\">\n                <div class=\"gds30-option-card\" data-value=\"1\" onclick=\"GDS30App.selectAnswer(1)\">\n                    <div class=\"gds30-option-indicator\">\n                        <i class=\"bi bi-check\"><\/i>\n                    <\/div>\n                    <div class=\"gds30-option-content\">\n                        <span class=\"gds30-option-text\">\u662f<\/span>\n                    <\/div>\n                <\/div>\n                <div class=\"gds30-option-card\" data-value=\"0\" onclick=\"GDS30App.selectAnswer(0)\">\n                    <div class=\"gds30-option-indicator\">\n                        <i class=\"bi bi-check\"><\/i>\n                    <\/div>\n                    <div class=\"gds30-option-content\">\n                        <span class=\"gds30-option-text\">\u5426<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <div class=\"gds30-nav-buttons\">\n            <button id=\"gds30-prev-btn\" class=\"gds30-prev-btn\" onclick=\"GDS30App.previousQuestion()\" style=\"display: none;\">\n                <i class=\"bi bi-arrow-left\"><\/i> \u4e0a\u4e00\u9898\n            <\/button>\n        <\/div>\n    <\/section>\n    \n    <!-- \u7d50\u679c\u9801 -->\n    <section id=\"gds30-result\" class=\"gds30-page\">\n        <h2 class=\"gds30-result-title\">\u8a55\u4f30\u7d50\u679c\u5206\u6790<\/h2>\n        \n        <div class=\"gds30-result-content\">\n            <div class=\"gds30-score-card\">\n                <div class=\"gds30-score-display\">\n                    <span class=\"gds30-score-label\">\u603b\u5206<\/span>\n                    <span id=\"gds30-total-score\" class=\"gds30-score-value\">0<\/span>\n                    <span class=\"gds30-score-max\">\/ 30<\/span>\n                <\/div>\n                <div id=\"gds30-score-level\" class=\"gds30-score-level\"><\/div>\n            <\/div>\n            \n            <!-- \u8a55\u5206\u5206\u5e03\u5716 -->\n            <div class=\"gds30-score-distribution\">\n                <h3>\u8a55\u5206\u5206\u5e03<\/h3>\n                <div class=\"gds30-distribution-chart\">\n                    <div class=\"gds30-dist-bar\">\n                        <div class=\"gds30-dist-segment gds30-normal\" style=\"width: 33.33%;\">\n                            <span class=\"gds30-dist-label\">\u6b63\u5e38\u8303\u56f4<\/span>\n                        <\/div>\n                        <div class=\"gds30-dist-segment gds30-mild\" style=\"width: 33.33%;\">\n                            <span class=\"gds30-dist-label\">\u8f15\u5ea6<\/span>\n                        <\/div>\n                        <div class=\"gds30-dist-segment gds30-moderate\" style=\"width: 33.34%;\">\n                            <span class=\"gds30-dist-label\">\u4e2d\u91cd\u5ea6<\/span>\n                        <\/div>\n                        <div id=\"gds30-score-marker\" class=\"gds30-score-marker\">\n                            <div class=\"gds30-marker-dot\"><\/div>\n                            <div class=\"gds30-marker-value\"><\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"gds30-dist-legend\">\n                        <div class=\"gds30-legend-item\">\n                            <span class=\"gds30-legend-color gds30-normal\"><\/span>\n                            <span>\u6b63\u5e38 (0-10\u5206)<\/span>\n                        <\/div>\n                        <div class=\"gds30-legend-item\">\n                            <span class=\"gds30-legend-color gds30-mild\"><\/span>\n                            <span>\u8f15\u5ea6 (11-20\u5206)<\/span>\n                        <\/div>\n                        <div class=\"gds30-legend-item\">\n                            <span class=\"gds30-legend-color gds30-moderate\"><\/span>\n                            <span>\u4e2d\u91cd\u5ea6 (21-30\u5206)<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <!-- \u75c7\u72c0\u7dad\u5ea6\u5206\u6790 -->\n            <div class=\"gds30-dimensions-chart\">\n                <h3>\u75c7\u72c0\u7dad\u5ea6\u5206\u6790<\/h3>\n                <div class=\"gds30-chart-wrapper\">\n                    <canvas id=\"gds30-radar-chart\"><\/canvas>\n                <\/div>\n            <\/div>\n            \n            <!-- \u500b\u6027\u5316\u5206\u6790 -->\n            <div class=\"gds30-personalized-analysis\">\n                <h3>\u4e2a\u6027\u5316\u5206\u6790<\/h3>\n                <div id=\"gds30-personalized-content\"><\/div>\n            <\/div>\n            \n            <!-- \u8a73\u7d30\u5206\u6790 -->\n            <div class=\"gds30-analysis\">\n                <h3>\u6574\u9ad4\u8a55\u4f30<\/h3>\n                <div id=\"gds30-analysis-content\"><\/div>\n            <\/div>\n            \n            <!-- \u5efa\u8b70\u4e8b\u9805 -->\n            <div class=\"gds30-recommendations\">\n                <h3>\u5efa\u8b70\u4e8b\u9805<\/h3>\n                <div id=\"gds30-recommendations-content\"><\/div>\n            <\/div>\n            \n            <button class=\"gds30-restart-btn\" onclick=\"GDS30App.restart()\">\n                <i class=\"bi bi-arrow-clockwise\"><\/i> \u91cd\u65b0\u6d4b\u8bd5\n            <\/button>\n        <\/div>\n    <\/section>\n<\/div>\n\n<style>\n\/* GDS-30 \u5c08\u7528\u6a23\u5f0f - \u547d\u540d\u7a7a\u9593\u907f\u514d\u885d\u7a81 *\/\n.gds30-wrapper {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Microsoft JhengHei\", \"\u5fae\u8edf\u6b63\u9ed1\u9ad4\", sans-serif;\n    line-height: 1.6;\n    color: #2d3748;\n    max-width: 750px;\n    margin: 0 auto;\n    padding: 20px;\n}\n\n.gds30-wrapper * {\n    box-sizing: border-box;\n}\n\n.gds30-page {\n    display: none;\n    animation: gds30-fadeIn 0.5s ease-in-out;\n}\n\n.gds30-page.gds30-active {\n    display: block;\n}\n\n@keyframes gds30-fadeIn {\n    from { opacity: 0; transform: translateY(10px); }\n    to { opacity: 1; transform: translateY(0); }\n}\n\n\/* \u5f15\u5c0e\u9801\u6a23\u5f0f *\/\n.gds30-intro-hero {\n    text-align: center;\n    padding: 40px 20px;\n}\n\n.gds30-title {\n    font-size: 36px;\n    font-weight: bold;\n    color: #2d5a2d;\n    margin-bottom: 10px;\n    text-align: center;\n}\n\n.gds30-subtitle {\n    font-size: 20px;\n    color: #5a7c5a;\n    margin-bottom: 40px;\n}\n\n\/* \u4fee\u6539\u7279\u6027\u5361\u7247\u5e03\u5c40 - \u78ba\u4fdd\u4e09\u500b\u5361\u7247\u5728\u4e00\u884c *\/\n.gds30-features {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr); \/* \u56fa\u5b9a\u4e09\u5217\u5e03\u5c40 *\/\n    gap: 15px; \/* \u6e1b\u5c0f\u9593\u8ddd *\/\n    margin-bottom: 50px;\n}\n\n.gds30-feature-card {\n    background: linear-gradient(135deg, #f0f9f0 0%, #e8f5e8 100%);\n    border-radius: 15px;\n    padding: 20px 15px; \/* \u6e1b\u5c0f\u5167\u908a\u8ddd *\/\n    box-shadow: 0 5px 15px rgba(0,0,0,0.08);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n    min-width: 0; \/* \u9632\u6b62\u5167\u5bb9\u6ea2\u51fa *\/\n}\n\n.gds30-feature-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 8px 25px rgba(0,0,0,0.12);\n}\n\n.gds30-icon-wrapper {\n    width: 50px; \/* \u7a0d\u5fae\u6e1b\u5c0f\u5716\u6a19\u5927\u5c0f *\/\n    height: 50px;\n    background: linear-gradient(135deg, #5a8c5a 0%, #4a7c4a 100%);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin: 0 auto 12px;\n    box-shadow: 0 4px 10px rgba(90,140,90,0.3);\n}\n\n.gds30-icon-wrapper i {\n    font-size: 24px; \/* \u7a0d\u5fae\u6e1b\u5c0f\u5716\u6a19 *\/\n    color: white;\n}\n\n.gds30-feature-card h3 {\n    font-size: 18px; \/* \u7a0d\u5fae\u6e1b\u5c0f\u6a19\u984c *\/\n    color: #2d5a2d;\n    margin-bottom: 8px;\n}\n\n.gds30-feature-card p {\n    font-size: 14px; \/* \u7a0d\u5fae\u6e1b\u5c0f\u6587\u5b57 *\/\n    color: #5a7c5a;\n    line-height: 1.4;\n}\n\n.gds30-intro-content {\n    text-align: left;\n    max-width: 650px;\n    margin: 0 auto 40px;\n}\n\n.gds30-intro-content h3 {\n    font-size: 24px;\n    color: #2d5a2d;\n    margin-bottom: 15px;\n}\n\n.gds30-intro-content p {\n    font-size: 17px;\n    color: #4a5568;\n    margin-bottom: 20px;\n}\n\n.gds30-highlight-box {\n    background: #f7fdf7;\n    border-left: 4px solid #5a8c5a;\n    padding: 20px;\n    border-radius: 8px;\n    margin-bottom: 20px;\n}\n\n.gds30-highlight-box h4 {\n    font-size: 20px;\n    color: #2d5a2d;\n    margin-bottom: 15px;\n}\n\n.gds30-highlight-box ul {\n    list-style: none;\n    padding: 0;\n}\n\n.gds30-highlight-box li {\n    font-size: 16px;\n    color: #4a5568;\n    margin-bottom: 10px;\n    padding-left: 25px;\n    position: relative;\n}\n\n.gds30-highlight-box li:before {\n    content: \"\u2713\";\n    position: absolute;\n    left: 0;\n    color: #5a8c5a;\n    font-weight: bold;\n}\n\n.gds30-warning-box {\n    background: #fef9e7;\n    border: 1px solid #e8d68a;\n    border-radius: 8px;\n    padding: 15px 20px;\n    margin-bottom: 30px;\n}\n\n.gds30-warning-box p {\n    font-size: 16px;\n    color: #7d6f39;\n    margin: 0;\n}\n\n.gds30-start-btn {\n    background: linear-gradient(135deg, #5a8c5a 0%, #4a7c4a 100%);\n    color: white;\n    font-size: 20px;\n    font-weight: bold;\n    padding: 18px 50px;\n    border: none;\n    border-radius: 50px;\n    cursor: pointer;\n    box-shadow: 0 6px 20px rgba(90,140,90,0.4);\n    transition: all 0.3s ease;\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n}\n\n.gds30-start-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 25px rgba(90,140,90,0.5);\n    background: linear-gradient(135deg, #4a7c4a 0%, #3a6c3a 100%);\n}\n\n\/* \u6e2c\u9a57\u9801\u6a23\u5f0f *\/\n.gds30-quiz-title {\n    font-size: 32px;\n    color: #2d5a2d;\n    text-align: center;\n    margin-bottom: 30px;\n}\n\n.gds30-progress-wrapper {\n    margin-bottom: 40px;\n}\n\n.gds30-progress-info {\n    font-size: 18px;\n    color: #5a7c5a;\n    margin-bottom: 10px;\n    font-weight: 500;\n}\n\n.gds30-progress-bar {\n    background: #e8f5e8;\n    height: 12px;\n    border-radius: 20px;\n    overflow: hidden;\n    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);\n}\n\n.gds30-progress-fill {\n    height: 100%;\n    background: linear-gradient(90deg, #5a8c5a 0%, #4a7c4a 100%);\n    border-radius: 20px;\n    transition: width 0.5s ease;\n    box-shadow: 0 2px 4px rgba(90,140,90,0.3);\n}\n\n.gds30-question-card {\n    background: white;\n    border-radius: 15px;\n    padding: 40px 30px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n    margin-bottom: 30px;\n}\n\n.gds30-question {\n    font-size: 24px;\n    font-weight: bold;\n    color: #2d3748;\n    margin-bottom: 40px;\n    line-height: 1.6;\n}\n\n.gds30-options {\n    display: flex;\n    gap: 16px;\n    justify-content: center;\n    align-items: center;\n}\n\n\/* \u73fe\u4ee3\u5316\u5361\u7247\u9078\u9805\u6a23\u5f0f *\/\n.gds30-option-card {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    background: #ffffff;\n    border: 2px solid #e0e0e0;\n    border-radius: 12px;\n    padding: 16px 24px;\n    cursor: pointer;\n    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n    box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n    position: relative;\n    min-width: 120px;\n    max-width: 160px;\n}\n\n.gds30-option-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 16px rgba(0,0,0,0.08);\n}\n\n\/* \u662f\u9078\u9805\u9078\u4e2d\u6a23\u5f0f - \u7da0\u8272 *\/\n.gds30-option-card[data-value=\"1\"].gds30-selected {\n    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);\n    border-color: #22c55e;\n    box-shadow: 0 4px 12px rgba(34,197,94,0.25);\n}\n\n\/* \u5426\u9078\u9805\u9078\u4e2d\u6a23\u5f0f - \u6eab\u6696\u6a59\u8272 *\/\n.gds30-option-card[data-value=\"0\"].gds30-selected {\n    background: linear-gradient(135deg, #fb923c 0%, #f97316 100%);\n    border-color: #f97316;\n    box-shadow: 0 4px 12px rgba(249,115,22,0.25);\n}\n\n.gds30-option-indicator {\n    width: 24px;\n    height: 24px;\n    border-radius: 50%;\n    border: 2px solid #9ca3af;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    transition: all 0.3s ease;\n    flex-shrink: 0;\n}\n\n.gds30-option-card:hover .gds30-option-indicator {\n    border-color: #6b7280;\n}\n\n.gds30-option-indicator i {\n    font-size: 14px;\n    display: none;\n}\n\n.gds30-option-indicator .bi-check {\n    color: white;\n    font-weight: bold;\n}\n\n\/* \u9078\u4e2d\u72c0\u614b\u7684\u6307\u793a\u5668 *\/\n.gds30-option-card.gds30-selected .gds30-option-indicator {\n    border-color: transparent;\n    background: rgba(255, 255, 255, 0.3);\n}\n\n.gds30-option-card.gds30-selected .gds30-option-indicator i {\n    display: block;\n}\n\n.gds30-option-content {\n    position: relative;\n}\n\n.gds30-option-text {\n    font-size: 20px;\n    font-weight: 600;\n    color: #374151;\n    transition: color 0.3s ease;\n    user-select: none;\n}\n\n.gds30-option-card:hover .gds30-option-text {\n    color: #1f2937;\n}\n\n.gds30-option-card.gds30-selected .gds30-option-text {\n    color: white;\n}\n\n.gds30-nav-buttons {\n    display: flex;\n    justify-content: center;\n    margin-top: 30px;\n}\n\n.gds30-prev-btn {\n    background: white;\n    color: #5a8c5a;\n    border: 2px solid #5a8c5a;\n    padding: 12px 30px;\n    border-radius: 50px;\n    font-size: 17px;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}\n\n.gds30-prev-btn:hover {\n    background: #5a8c5a;\n    color: white;\n}\n\n\/* \u7d50\u679c\u9801\u6a23\u5f0f *\/\n.gds30-result-title {\n    font-size: 32px;\n    color: #2d5a2d;\n    text-align: center;\n    margin-bottom: 40px;\n}\n\n.gds30-result-content {\n    background: white;\n    border-radius: 15px;\n    padding: 40px 30px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n}\n\n.gds30-score-card {\n    text-align: center;\n    margin-bottom: 40px;\n    padding: 30px;\n    background: linear-gradient(135deg, #f0f9f0 0%, #e8f5e8 100%);\n    border-radius: 15px;\n}\n\n.gds30-score-display {\n    display: flex;\n    justify-content: center;\n    align-items: baseline;\n    gap: 10px;\n    margin-bottom: 20px;\n}\n\n.gds30-score-label {\n    font-size: 24px;\n    color: #5a7c5a;\n}\n\n.gds30-score-value {\n    font-size: 48px;\n    font-weight: bold;\n    color: #2d5a2d;\n}\n\n.gds30-score-max {\n    font-size: 24px;\n    color: #7a9c7a;\n}\n\n.gds30-score-level {\n    font-size: 22px;\n    font-weight: 600;\n    padding: 10px 30px;\n    border-radius: 50px;\n    display: inline-block;\n}\n\n\/* \u8a55\u5206\u5206\u5e03\u5716 *\/\n.gds30-score-distribution {\n    margin-bottom: 40px;\n    padding: 25px;\n    background: #fafafa;\n    border-radius: 12px;\n}\n\n.gds30-score-distribution h3 {\n    font-size: 22px;\n    color: #2d5a2d;\n    margin-bottom: 20px;\n}\n\n.gds30-distribution-chart {\n    position: relative;\n    margin-bottom: 20px;\n}\n\n.gds30-dist-bar {\n    display: flex;\n    height: 60px;\n    border-radius: 30px;\n    overflow: hidden;\n    position: relative;\n    box-shadow: 0 3px 10px rgba(0,0,0,0.1);\n}\n\n.gds30-dist-segment {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    transition: all 0.3s ease;\n}\n\n.gds30-dist-segment.gds30-normal {\n    background: linear-gradient(135deg, #86efac 0%, #4ade80 100%);\n}\n\n.gds30-dist-segment.gds30-mild {\n    background: linear-gradient(135deg, #fde047 0%, #facc15 100%);\n}\n\n.gds30-dist-segment.gds30-moderate {\n    background: linear-gradient(135deg, #fdba74 0%, #fb923c 100%);\n}\n\n.gds30-dist-label {\n    color: white;\n    font-weight: 600;\n    font-size: 14px;\n    text-shadow: 0 1px 2px rgba(0,0,0,0.2);\n}\n\n.gds30-score-marker {\n    position: absolute;\n    top: -15px;\n    bottom: -15px;\n    transform: translateX(-50%);\n    transition: left 0.5s ease;\n    z-index: 10;\n}\n\n.gds30-marker-dot {\n    width: 20px;\n    height: 20px;\n    background: #dc2626;\n    border: 3px solid white;\n    border-radius: 50%;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    box-shadow: 0 2px 8px rgba(220,38,38,0.5);\n}\n\n.gds30-marker-value {\n    position: absolute;\n    top: -25px;\n    left: 50%;\n    transform: translateX(-50%);\n    background: #dc2626;\n    color: white;\n    padding: 2px 8px;\n    border-radius: 4px;\n    font-size: 12px;\n    font-weight: bold;\n    white-space: nowrap;\n}\n\n.gds30-dist-legend {\n    display: flex;\n    justify-content: center;\n    gap: 20px;\n    flex-wrap: wrap;\n}\n\n.gds30-legend-item {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 14px;\n    color: #4a5568;\n}\n\n.gds30-legend-color {\n    width: 20px;\n    height: 12px;\n    border-radius: 3px;\n}\n\n.gds30-legend-color.gds30-normal {\n    background: linear-gradient(135deg, #86efac 0%, #4ade80 100%);\n}\n\n.gds30-legend-color.gds30-mild {\n    background: linear-gradient(135deg, #fde047 0%, #facc15 100%);\n}\n\n.gds30-legend-color.gds30-moderate {\n    background: linear-gradient(135deg, #fdba74 0%, #fb923c 100%);\n}\n\n\/* \u75c7\u72c0\u7dad\u5ea6\u5716\u8868\u5bb9\u5668 *\/\n.gds30-dimensions-chart {\n    margin-bottom: 40px;\n    padding: 25px;\n    background: #fafafa;\n    border-radius: 12px;\n}\n\n.gds30-dimensions-chart h3 {\n    font-size: 22px;\n    color: #2d5a2d;\n    margin-bottom: 20px;\n}\n\n.gds30-chart-wrapper {\n    position: relative;\n    height: 300px;\n    max-width: 500px;\n    margin: 0 auto;\n}\n\n\/* \u500b\u6027\u5316\u5206\u6790 *\/\n.gds30-personalized-analysis {\n    margin-bottom: 30px;\n    padding: 25px;\n    background: #f7fdf7;\n    border-radius: 12px;\n    border-left: 4px solid #5a8c5a;\n}\n\n.gds30-personalized-analysis h3 {\n    font-size: 22px;\n    color: #2d5a2d;\n    margin-bottom: 20px;\n}\n\n#gds30-personalized-content {\n    font-size: 16px;\n    color: #4a5568;\n    line-height: 1.8;\n}\n\n.gds30-analysis,\n.gds30-recommendations {\n    margin-bottom: 30px;\n}\n\n.gds30-analysis h3,\n.gds30-recommendations h3 {\n    font-size: 22px;\n    color: #2d5a2d;\n    margin-bottom: 20px;\n}\n\n#gds30-analysis-content,\n#gds30-recommendations-content {\n    font-size: 17px;\n    color: #4a5568;\n    line-height: 1.8;\n}\n\n.gds30-restart-btn {\n    background: linear-gradient(135deg, #5a8c5a 0%, #4a7c4a 100%);\n    color: white;\n    font-size: 18px;\n    font-weight: bold;\n    padding: 15px 40px;\n    border: none;\n    border-radius: 50px;\n    cursor: pointer;\n    box-shadow: 0 6px 20px rgba(90,140,90,0.4);\n    transition: all 0.3s ease;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin: 40px auto 0;\n}\n\n.gds30-restart-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 25px rgba(90,140,90,0.5);\n    background: linear-gradient(135deg, #4a7c4a 0%, #3a6c3a 100%);\n}\n\n\/* \u6c42\u52a9\u71b1\u7dda\u6a23\u5f0f *\/\n.gds30-helpline-section {\n    margin-top: 30px;\n    padding: 25px;\n    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n    border-radius: 15px;\n    border: 2px solid #fbbf24;\n}\n\n.gds30-helpline-section h4 {\n    font-size: 20px;\n    color: #92400e;\n    margin-bottom: 20px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}\n\n.gds30-helpline-section h4 i {\n    color: #dc2626;\n}\n\n\/* \u8f15\u5ea6\u6182\u9b31\u7684\u6c42\u52a9\u71b1\u7dda\u6a23\u5f0f *\/\n.gds30-helpline-section.gds30-helpline-mild {\n    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);\n    border-color: #0ea5e9;\n}\n\n.gds30-helpline-section.gds30-helpline-mild h4 {\n    color: #075985;\n}\n\n.gds30-helpline-section.gds30-helpline-mild h4 i {\n    color: #0284c7;\n}\n\n.gds30-helpline-group {\n    margin-bottom: 25px;\n}\n\n.gds30-helpline-group h5 {\n    font-size: 18px;\n    color: #78350f;\n    margin-bottom: 15px;\n    font-weight: 600;\n}\n\n.gds30-helpline-list {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n    gap: 12px;\n}\n\n.gds30-helpline-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 12px 16px;\n    background: white;\n    border-radius: 10px;\n    text-decoration: none;\n    transition: all 0.3s ease;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n    border: 2px solid transparent;\n}\n\n.gds30-helpline-item:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n    border-color: #fbbf24;\n    text-decoration: none;\n}\n\n.gds30-helpline-item i {\n    font-size: 18px;\n    color: #10b981;\n    flex-shrink: 0;\n}\n\n.gds30-helpline-name {\n    font-size: 14px;\n    color: #4b5563;\n    flex: 1;\n}\n\n.gds30-helpline-number {\n    font-size: 16px;\n    font-weight: bold;\n    color: #fff;\n    background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n    padding: 4px 12px;\n    border-radius: 20px;\n    white-space: nowrap;\n}\n\n.gds30-helpline-item:hover .gds30-helpline-number {\n    background: linear-gradient(135deg, #059669 0%, #047857 100%);\n}\n\n.gds30-helpline-note {\n    margin-top: 20px;\n    padding: 12px 16px;\n    background: rgba(255, 255, 255, 0.8);\n    border-radius: 8px;\n    font-size: 14px;\n    color: #78350f;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}\n\n.gds30-helpline-note i {\n    color: #f59e0b;\n    flex-shrink: 0;\n}\n\n\/* \u97ff\u61c9\u5f0f\u8a2d\u8a08 *\/\n@media (max-width: 768px) {\n    .gds30-wrapper {\n        padding: 15px;\n    }\n    \n    .gds30-title {\n        font-size: 28px;\n    }\n    \n    .gds30-subtitle {\n        font-size: 18px;\n    }\n    \n    \/* \u5e73\u677f\u8a2d\u5099\u4ecd\u4fdd\u6301\u4e09\u5217 *\/\n    .gds30-features {\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n    }\n    \n    .gds30-feature-card {\n        padding: 15px 10px;\n    }\n    \n    .gds30-icon-wrapper {\n        width: 45px;\n        height: 45px;\n    }\n    \n    .gds30-icon-wrapper i {\n        font-size: 22px;\n    }\n    \n    .gds30-feature-card h3 {\n        font-size: 16px;\n    }\n    \n    .gds30-feature-card p {\n        font-size: 13px;\n    }\n    \n    .gds30-question-card {\n        padding: 25px 20px;\n    }\n    \n    .gds30-question {\n        font-size: 22px;\n    }\n    \n    .gds30-options {\n        gap: 12px;\n    }\n    \n    .gds30-option-card {\n        padding: 14px 20px;\n    }\n    \n    .gds30-option-text {\n        font-size: 18px;\n    }\n    \n    .gds30-result-content {\n        padding: 25px 20px;\n    }\n    \n    .gds30-score-value {\n        font-size: 36px;\n    }\n    \n    .gds30-dist-bar {\n        height: 50px;\n    }\n    \n    .gds30-dist-label {\n        font-size: 12px;\n    }\n    \n    .gds30-chart-wrapper {\n        height: 250px;\n    }\n    \n    \/* \u6c42\u52a9\u71b1\u7dda\u97ff\u61c9\u5f0f *\/\n    .gds30-helpline-list {\n        grid-template-columns: 1fr;\n    }\n}\n\n\/* \u624b\u6a5f\u8a2d\u5099\u6539\u70ba\u55ae\u5217 *\/\n@media (max-width: 480px) {\n    .gds30-title {\n        font-size: 24px;\n    }\n    \n    \/* \u624b\u6a5f\u8a2d\u5099\u6539\u70ba\u55ae\u5217\u5e03\u5c40 *\/\n    .gds30-features {\n        grid-template-columns: 1fr;\n        gap: 15px;\n    }\n    \n    .gds30-feature-card {\n        padding: 20px 15px;\n    }\n    \n    .gds30-icon-wrapper {\n        width: 50px;\n        height: 50px;\n    }\n    \n    .gds30-icon-wrapper i {\n        font-size: 24px;\n    }\n    \n    .gds30-feature-card h3 {\n        font-size: 18px;\n    }\n    \n    .gds30-feature-card p {\n        font-size: 14px;\n    }\n    \n    .gds30-start-btn {\n        font-size: 18px;\n        padding: 15px 35px;\n    }\n    \n    .gds30-question {\n        font-size: 20px;\n        margin-bottom: 30px;\n    }\n    \n    .gds30-option-card {\n        padding: 12px 18px;\n        min-width: 100px;\n    }\n    \n    .gds30-option-text {\n        font-size: 17px;\n    }\n    \n    .gds30-option-indicator {\n        width: 20px;\n        height: 20px;\n    }\n    \n    .gds30-option-indicator i {\n        font-size: 12px;\n    }\n    \n    .gds30-dist-legend {\n        font-size: 12px;\n    }\n    \n    \/* \u6c42\u52a9\u71b1\u7dda\u5c0f\u5c4f\u512a\u5316 *\/\n    .gds30-helpline-section {\n        padding: 20px 15px;\n    }\n    \n    .gds30-helpline-section h4 {\n        font-size: 18px;\n    }\n    \n    .gds30-helpline-group h5 {\n        font-size: 16px;\n    }\n    \n    .gds30-helpline-item {\n        padding: 10px 12px;\n    }\n    \n    .gds30-helpline-name {\n        font-size: 13px;\n    }\n    \n    .gds30-helpline-number {\n        font-size: 14px;\n        padding: 3px 10px;\n    }\n    \n    .gds30-helpline-note {\n        font-size: 13px;\n        padding: 10px 12px;\n    }\n}\n<\/style>\n\n<script>\n\/\/ GDS-30 \u61c9\u7528\u7a0b\u5f0f\u6a21\u7d44\nconst GDS30App = (function() {\n    'use strict';\n    \n    \/\/ \u554f\u984c\u8cc7\u6599\n    const questions = [\n        { text: \"\u4f60\u5c0d\u751f\u6d3b\u57fa\u672c\u4e0a\u6eff\u610f\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"life_satisfaction\" },\n        { text: \"\u4f60\u662f\u5426\u5df2\u7d93\u653e\u68c4\u4e86\u8a31\u591a\u6d3b\u52d5\u548c\u8208\u8da3\uff1f\", yesScore: 1, noScore: 0, dimension: \"interest_loss\" },\n        { text: \"\u4f60\u662f\u5426\u89ba\u5f97\u751f\u6d3b\u7a7a\u865b\uff1f\", yesScore: 1, noScore: 0, dimension: \"emptiness\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u611f\u5230\u53ad\u5026\uff1f\", yesScore: 1, noScore: 0, dimension: \"boredom\" },\n        { text: \"\u4f60\u89ba\u5f97\u672a\u4f86\u6709\u5e0c\u671b\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"hopelessness\" },\n        { text: \"\u4f60\u662f\u5426\u56e0\u70ba\u8166\u5b50\u88e1\u6709\u4e00\u4e9b\u60f3\u6cd5\u64fa\u812b\u4e0d\u6389\u800c\u7169\u60f1\uff1f\", yesScore: 1, noScore: 0, dimension: \"rumination\" },\n        { text: \"\u4f60\u662f\u5426\u5927\u90e8\u5206\u6642\u9593\u7cbe\u529b\u5145\u6c9b\uff1f\", yesScore: 0, noScore: 1, dimension: \"energy\" },\n        { text: \"\u4f60\u662f\u5426\u5bb3\u6015\u6703\u6709\u4e0d\u5e78\u7684\u4e8b\u843d\u5230\u4f60\u982d\u4e0a\uff1f\", yesScore: 1, noScore: 0, dimension: \"anxiety\" },\n        { text: \"\u4f60\u662f\u5426\u5927\u90e8\u5206\u6642\u9593\u611f\u5230\u5e78\u798f\uff1f\", yesScore: 0, noScore: 1, dimension: \"happiness\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u611f\u5230\u5b64\u7acb\u7121\u63f4\uff1f\", yesScore: 1, noScore: 0, dimension: \"helplessness\" },\n        { text: \"\u4f60\u662f\u5426\u7d93\u5e38\u5750\u7acb\u4e0d\u5b89\uff0c\u5fc3\u7169\u610f\u4e82\uff1f\", yesScore: 1, noScore: 0, dimension: \"restlessness\" },\n        { text: \"\u4f60\u662f\u5426\u5e0c\u671b\u5446\u5728\u5bb6\u88e1\u800c\u4e0d\u9858\u610f\u53bb\u505a\u4e9b\u65b0\u9bae\u4e8b\uff1f\", yesScore: 1, noScore: 0, dimension: \"social_withdrawal\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u5e38\u64d4\u5fc3\u5c07\u4f86\uff1f\", yesScore: 1, noScore: 0, dimension: \"worry\" },\n        { text: \"\u4f60\u662f\u5426\u89ba\u5f97\u8a18\u61b6\u529b\u6bd4\u4ee5\u524d\u5dee\uff1f\", yesScore: 1, noScore: 0, dimension: \"memory\" },\n        { text: \"\u4f60\u89ba\u5f97\u73fe\u5728\u751f\u6d3b\u5f88\u611c\u610f\uff1f\", yesScore: 0, noScore: 1, dimension: \"contentment\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u611f\u5230\u5fc3\u60c5\u6c89\u91cd\u3001\u9b31\u60b6\uff1f\", yesScore: 1, noScore: 0, dimension: \"depression\" },\n        { text: \"\u4f60\u662f\u5426\u89ba\u5f97\u8c61\u73fe\u5728\u9019\u6a23\u751f\u6d3b\u6beb\u7121\u610f\u7fa9\uff1f\", yesScore: 1, noScore: 0, dimension: \"worthlessness\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u70ba\u904e\u53bb\u7684\u4e8b\u6182\u6101\uff1f\", yesScore: 1, noScore: 0, dimension: \"past_worry\" },\n        { text: \"\u4f60\u89ba\u5f97\u751f\u6d3b\u5f88\u4ee4\u4eba\u8208\u596e\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"excitement\" },\n        { text: \"\u4f60\u958b\u59cb\u4e00\u4ef6\u65b0\u7684\u5de5\u4f5c\u56f0\u96e3\u55ce\uff1f\", yesScore: 1, noScore: 0, dimension: \"initiative\" },\n        { text: \"\u4f60\u89ba\u5f97\u751f\u6d3b\u5145\u6eff\u6d3b\u529b\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"vitality\" },\n        { text: \"\u4f60\u662f\u5426\u89ba\u5f97\u4f60\u7684\u8655\u5883\u6beb\u7121\u5e0c\u671b\uff1f\", yesScore: 1, noScore: 0, dimension: \"hopelessness\" },\n        { text: \"\u4f60\u662f\u5426\u89ba\u5f97\u5927\u591a\u6578\u4eba\u6bd4\u4f60\u5f37\u7684\u591a\uff1f\", yesScore: 1, noScore: 0, dimension: \"inferiority\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u70ba\u4e9b\u5c0f\u4e8b\u50b7\u5fc3\uff1f\", yesScore: 1, noScore: 0, dimension: \"sensitivity\" },\n        { text: \"\u4f60\u662f\u5426\u5e38\u89ba\u5f97\u60f3\u54ed\uff1f\", yesScore: 1, noScore: 0, dimension: \"tearfulness\" },\n        { text: \"\u4f60\u96c6\u4e2d\u7cbe\u529b\u56f0\u96e3\u55ce\uff1f\", yesScore: 1, noScore: 0, dimension: \"concentration\" },\n        { text: \"\u4f60\u65e9\u6668\u8d77\u7684\u5f88\u5feb\u6d3b\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"morning_mood\" },\n        { text: \"\u4f60\u5e0c\u671b\u907f\u958b\u805a\u6703\u55ce\uff1f\", yesScore: 1, noScore: 0, dimension: \"social_avoidance\" },\n        { text: \"\u4f60\u505a\u6c7a\u5b9a\u5f88\u5bb9\u6613\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"decision_making\" },\n        { text: \"\u4f60\u7684\u982d\u8166\u8c61\u5f80\u5e38\u4e00\u6a23\u6e05\u6670\u55ce\uff1f\", yesScore: 0, noScore: 1, dimension: \"mental_clarity\" }\n    ];\n    \n    \/\/ \u72c0\u614b\u7ba1\u7406\n    let currentQuestion = 0;\n    let answers = [];\n    let userChoices = []; \/\/ \u5132\u5b58\u4f7f\u7528\u8005\u9078\u64c7\uff08\u662f\/\u5426\uff09\n    let totalScore = 0;\n    \n    \/\/ \u9801\u9762\u5207\u63db\n    function showPage(pageId) {\n        document.querySelectorAll('.gds30-page').forEach(page => {\n            page.classList.remove('gds30-active');\n        });\n        document.getElementById(pageId).classList.add('gds30-active');\n        \n        \/\/ \u6efe\u52d5\u5230\u9802\u90e8\n        const container = document.getElementById('gds30-container');\n        container.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n    \n    \/\/ \u958b\u59cb\u8a55\u4f30\n    function startAssessment() {\n        currentQuestion = 0;\n        answers = [];\n        userChoices = [];\n        totalScore = 0;\n        showPage('gds30-quiz');\n        displayQuestion();\n    }\n    \n    \/\/ \u986f\u793a\u554f\u984c\n    function displayQuestion() {\n        const question = questions[currentQuestion];\n        document.getElementById('gds30-question-text').textContent = question.text;\n        document.getElementById('gds30-current-num').textContent = currentQuestion + 1;\n        \n        \/\/ \u66f4\u65b0\u9032\u5ea6\u689d\n        const progress = ((currentQuestion + 1) \/ questions.length) * 100;\n        document.getElementById('gds30-progress-fill').style.width = progress + '%';\n        \n        \/\/ \u6e05\u9664\u9078\u9805\u72c0\u614b\n        document.querySelectorAll('.gds30-option-card').forEach(card => {\n            card.classList.remove('gds30-selected');\n        });\n        \n        \/\/ \u6062\u5fa9\u4e4b\u524d\u7684\u7b54\u6848\n        if (userChoices[currentQuestion] !== undefined) {\n            const selectedValue = userChoices[currentQuestion] ? 1 : 0;\n            document.querySelector(`.gds30-option-card[data-value=\"${selectedValue}\"]`).classList.add('gds30-selected');\n        }\n        \n        \/\/ \u986f\u793a\/\u96b1\u85cf\u4e0a\u4e00\u984c\u6309\u9215\n        const prevBtn = document.getElementById('gds30-prev-btn');\n        prevBtn.style.display = currentQuestion > 0 ? 'inline-flex' : 'none';\n    }\n    \n    \/\/ \u9078\u64c7\u7b54\u6848\n    function selectAnswer(value) {\n        const question = questions[currentQuestion];\n        const isYes = value === 1;\n        userChoices[currentQuestion] = isYes;\n        answers[currentQuestion] = isYes ? question.yesScore : question.noScore;\n        \n        \/\/ \u986f\u793a\u9078\u4e2d\u72c0\u614b\n        document.querySelectorAll('.gds30-option-card').forEach(card => {\n            card.classList.remove('gds30-selected');\n        });\n        event.target.closest('.gds30-option-card').classList.add('gds30-selected');\n        \n        \/\/ \u5ef6\u9072\u9032\u5165\u4e0b\u4e00\u984c\n        setTimeout(() => {\n            if (currentQuestion < questions.length - 1) {\n                currentQuestion++;\n                displayQuestion();\n            } else {\n                calculateResult();\n            }\n        }, 300);\n    }\n    \n    \/\/ \u4e0a\u4e00\u984c\n    function previousQuestion() {\n        if (currentQuestion > 0) {\n            currentQuestion--;\n            displayQuestion();\n        }\n    }\n    \n    \/\/ \u8a08\u7b97\u7d50\u679c\n    function calculateResult() {\n        totalScore = answers.reduce((sum, score) => sum + score, 0);\n        showPage('gds30-result');\n        displayResult();\n    }\n    \n    \/\/ \u986f\u793a\u7d50\u679c\n    function displayResult() {\n        document.getElementById('gds30-total-score').textContent = totalScore;\n        \n        \/\/ \u5224\u65b7\u7b49\u7d1a\n        let level, levelColor, levelBg;\n        if (totalScore <= 10) {\n            level = '\u6b63\u5e38\u7bc4\u570d';\n            levelColor = '#22c55e';\n            levelBg = '#dcfce7';\n        } else if (totalScore <= 20) {\n            level = '\u8f15\u5ea6\u6182\u9b31\u50be\u5411';\n            levelColor = '#eab308';\n            levelBg = '#fef3c7';\n        } else {\n            level = '\u4e2d\u91cd\u5ea6\u6182\u9b31\u50be\u5411';\n            levelColor = '#f97316';\n            levelBg = '#fed7aa';\n        }\n        \n        const levelElement = document.getElementById('gds30-score-level');\n        levelElement.textContent = level;\n        levelElement.style.color = levelColor;\n        levelElement.style.backgroundColor = levelBg;\n        \n        \/\/ \u8a2d\u7f6e\u5206\u6578\u6a19\u8a18\u4f4d\u7f6e\n        const marker = document.getElementById('gds30-score-marker');\n        const markerPosition = (totalScore \/ 30) * 100;\n        marker.style.left = markerPosition + '%';\n        marker.querySelector('.gds30-marker-value').textContent = totalScore;\n        \n        \/\/ \u500b\u6027\u5316\u5206\u6790\n        generatePersonalizedAnalysis();\n        \n        \/\/ \u6574\u9ad4\u8a55\u4f30\n        let analysisHTML = '';\n        if (totalScore <= 10) {\n            analysisHTML = `\n                <p>\u60a8\u7684\u8a55\u4f30\u7d50\u679c\u986f\u793a\u76ee\u524d\u60c5\u7dd2\u72c0\u614b\u8655\u65bc<strong>\u6b63\u5e38\u7bc4\u570d<\/strong>\u3002\u9019\u8868\u793a\u60a8\u7684\u5fc3\u7406\u5065\u5eb7\u72c0\u6cc1\u826f\u597d\uff0c\u6c92\u6709\u660e\u986f\u7684\u6182\u9b31\u75c7\u72c0\u3002<\/p>\n                <p>\u7e7c\u7e8c\u4fdd\u6301\u7a4d\u6975\u7684\u751f\u6d3b\u614b\u5ea6\uff0c\u7dad\u6301\u826f\u597d\u7684\u751f\u6d3b\u7fd2\u6163\uff0c\u5305\u62ec\u898f\u5f8b\u904b\u52d5\u3001\u5145\u8db3\u7761\u7720\u548c\u793e\u4ea4\u6d3b\u52d5\uff0c\u9019\u4e9b\u90fd\u6709\u52a9\u65bc\u7dad\u8b77\u5fc3\u7406\u5065\u5eb7\u3002<\/p>\n            `;\n        } else if (totalScore <= 20) {\n            analysisHTML = `\n                <p>\u60a8\u7684\u8a55\u4f30\u7d50\u679c\u986f\u793a\u6709<strong>\u8f15\u5ea6\u6182\u9b31\u50be\u5411<\/strong>\u3002\u9019\u53ef\u80fd\u8868\u793a\u60a8\u8fd1\u671f\u7d93\u6b77\u4e86\u4e00\u4e9b\u58d3\u529b\u6216\u751f\u6d3b\u8b8a\u5316\uff0c\u5c0e\u81f4\u60c5\u7dd2\u53d7\u5230\u5f71\u97ff\u3002<\/p>\n                <p>\u5efa\u8b70\u60a8\u591a\u95dc\u6ce8\u81ea\u5df1\u7684\u60c5\u7dd2\u8b8a\u5316\uff0c\u5617\u8a66\u627e\u51fa\u58d3\u529b\u4f86\u6e90\uff0c\u4e26\u63a1\u53d6\u9069\u7576\u7684\u7d13\u58d3\u65b9\u5f0f\u3002\u5982\u679c\u75c7\u72c0\u6301\u7e8c\u6216\u52a0\u91cd\uff0c\u5efa\u8b70\u5c0b\u6c42\u5c08\u696d\u5fc3\u7406\u8aee\u8a62\u3002<\/p>\n            `;\n        } else {\n            analysisHTML = `\n                <p>\u60a8\u7684\u8a55\u4f30\u7d50\u679c\u986f\u793a\u6709<strong>\u4e2d\u91cd\u5ea6\u6182\u9b31\u50be\u5411<\/strong>\u3002\u9019\u9700\u8981\u5f15\u8d77\u91cd\u8996\uff0c\u8868\u793a\u60a8\u53ef\u80fd\u6b63\u7d93\u6b77\u8f03\u56b4\u91cd\u7684\u60c5\u7dd2\u56f0\u64fe\u3002<\/p>\n                <p><strong>\u5f37\u70c8\u5efa\u8b70\u60a8\u76e1\u5feb\u5c0b\u6c42\u5c08\u696d\u91ab\u7642\u5354\u52a9<\/strong>\uff0c\u5305\u62ec\u7cbe\u795e\u79d1\u91ab\u5e2b\u6216\u5fc3\u7406\u8aee\u5546\u5e2b\u7684\u8a55\u4f30\u548c\u6cbb\u7642\u3002\u6182\u9b31\u75c7\u662f\u53ef\u4ee5\u6cbb\u7642\u7684\uff0c\u5c08\u696d\u5354\u52a9\u80fd\u5e6b\u52a9\u60a8\u6062\u5fa9\u5065\u5eb7\u3002<\/p>\n            `;\n        }\n        document.getElementById('gds30-analysis-content').innerHTML = analysisHTML;\n        \n        \/\/ \u5efa\u8b70\u4e8b\u9805\n        let recommendationsHTML = '';\n        if (totalScore <= 10) {\n            recommendationsHTML = `\n                <ul>\n                    <li>\u4fdd\u6301\u898f\u5f8b\u7684\u751f\u6d3b\u4f5c\u606f<\/li>\n                    <li>\u6301\u7e8c\u53c3\u8207\u793e\u4ea4\u6d3b\u52d5<\/li>\n                    <li>\u57f9\u990a\u8208\u8da3\u611b\u597d<\/li>\n                    <li>\u7dad\u6301\u9069\u5ea6\u904b\u52d5\u7fd2\u6163<\/li>\n                    <li>\u6ce8\u610f\u71df\u990a\u5747\u8861<\/li>\n                <\/ul>\n            `;\n        } else if (totalScore <= 20) {\n            recommendationsHTML = `\n                <ul>\n                    <li>\u589e\u52a0\u6236\u5916\u6d3b\u52d5\u548c\u967d\u5149\u63a5\u89f8<\/li>\n                    <li>\u8207\u89aa\u53cb\u4fdd\u6301\u826f\u597d\u6e9d\u901a<\/li>\n                    <li>\u5b78\u7fd2\u58d3\u529b\u7ba1\u7406\u6280\u5de7<\/li>\n                    <li>\u5617\u8a66\u51a5\u60f3\u6216\u653e\u9b06\u7df4\u7fd2<\/li>\n                    <li>\u5fc5\u8981\u6642\u5c0b\u6c42\u5fc3\u7406\u8aee\u5546<\/li>\n                    <li>\u907f\u514d\u9152\u7cbe\u548c\u904e\u5ea6\u7528\u85e5<\/li>\n                <\/ul>\n                \n                <div class=\"gds30-helpline-section gds30-helpline-mild\">\n                    <h4><i class=\"bi bi-telephone\"><\/i> \u5982\u9700\u8981\u5c08\u696d\u652f\u63f4\uff0c\u53ef\u806f\u7e6b\u4ee5\u4e0b\u5c08\u7dda\uff1a<\/h4>\n                    \n                    <div class=\"gds30-helpline-group\">\n                        <div class=\"gds30-helpline-list\">\n                            <a href=\"tel:1995\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u81fa\u7063\u751f\u547d\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1995<\/span>\n                            <\/a>\n                            <a href=\"tel:1925\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u81fa\u7063\u5b89\u5fc3\u5c08\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1925<\/span>\n                            <\/a>\n                            <a href=\"tel:1980\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u5f35\u8001\u5e2b\u5c08\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1980<\/span>\n                            <\/a>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        } else {\n            recommendationsHTML = `\n                <ul>\n                    <li><strong>\u7acb\u5373\u5c0b\u6c42\u5c08\u696d\u91ab\u7642\u5354\u52a9<\/strong><\/li>\n                    <li>\u544a\u8a34\u4fe1\u4efb\u7684\u5bb6\u4eba\u6216\u670b\u53cb\u60a8\u7684\u72c0\u6cc1<\/li>\n                    <li>\u907f\u514d\u7368\u8655\uff0c\u4fdd\u6301\u8207\u4ed6\u4eba\u7684\u806f\u7e6b<\/li>\n                    <li>\u9075\u5faa\u91ab\u5e2b\u6307\u793a\uff0c\u898f\u5f8b\u670d\u85e5<\/li>\n                    <li>\u53c3\u52a0\u652f\u6301\u5718\u9ad4\u6216\u6cbb\u7642\u5c0f\u7d44<\/li>\n                <\/ul>\n                \n                <div class=\"gds30-helpline-section\">\n                    <h4><i class=\"bi bi-heart-fill\"><\/i> \u5982\u6709\u81ea\u50b7\u5ff5\u982d\uff0c\u8acb\u7acb\u5373\u806f\u7e6b\u4ee5\u4e0b\u5c08\u7dda\uff1a<\/h4>\n                    \n                    <div class=\"gds30-helpline-group\">\n                        <h5>\ud83c\uddf9\ud83c\uddfc \u81fa\u7063\u5730\u5340<\/h5>\n                        <div class=\"gds30-helpline-list\">\n                            <a href=\"tel:1995\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u751f\u547d\u7dda\u5354\u8ac7\u5c08\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1995<\/span>\n                            <\/a>\n                            <a href=\"tel:1925\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u5b89\u5fc3\u5c08\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1925<\/span>\n                            <\/a>\n                            <a href=\"tel:1980\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u5f35\u8001\u5e2b\u5c08\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">1980<\/span>\n                            <\/a>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"gds30-helpline-group\">\n                        <h5>\ud83c\udded\ud83c\uddf0 \u9999\u6e2f\u5730\u5340<\/h5>\n                        <div class=\"gds30-helpline-list\">\n                            <a href=\"tel:28960000\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u6492\u746a\u5229\u4e9e\u6703<\/span>\n                                <span class=\"gds30-helpline-number\">2896 0000<\/span>\n                            <\/a>\n                            <a href=\"tel:23892222\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u6492\u746a\u5229\u4e9e\u9632\u6b62\u81ea\u6bba\u6703<\/span>\n                                <span class=\"gds30-helpline-number\">2389 2222<\/span>\n                            <\/a>\n                            <a href=\"tel:23820000\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u751f\u547d\u71b1\u7dda\uff08\u660e\u611b\u5411\u6674\u8ed2\uff09<\/span>\n                                <span class=\"gds30-helpline-number\">2382 0000<\/span>\n                            <\/a>\n                            <a href=\"tel:51645040\" class=\"gds30-helpline-item\">\n                                <i class=\"bi bi-telephone-fill\"><\/i>\n                                <span class=\"gds30-helpline-name\">\u9999\u6e2f\u7d05\u5341\u5b57\u6703\u95dc\u61f7\u71b1\u7dda<\/span>\n                                <span class=\"gds30-helpline-number\">5164 5040<\/span>\n                            <\/a>\n                        <\/div>\n                    <\/div>\n                    \n                    <p class=\"gds30-helpline-note\">\n                        <i class=\"bi bi-info-circle\"><\/i> \u4ee5\u4e0a\u5c08\u7dda\u5747\u63d0\u4f9b24\u5c0f\u6642\u670d\u52d9\uff0c\u5c08\u696d\u8f14\u5c0e\u54e1\u6703\u70ba\u60a8\u63d0\u4f9b\u5373\u6642\u652f\u63f4\u3002\n                    <\/p>\n                <\/div>\n            `;\n        }\n        document.getElementById('gds30-recommendations-content').innerHTML = recommendationsHTML;\n        \n        \/\/ \u7e6a\u88fd\u5716\u8868\n        drawCharts();\n    }\n    \n    \/\/ \u751f\u6210\u500b\u6027\u5316\u5206\u6790\n    function generatePersonalizedAnalysis() {\n        const patterns = analyzeAnswerPatterns();\n        let personalizedHTML = '<div class=\"gds30-pattern-analysis\">';\n        \n        \/\/ \u5206\u6790\u4e3b\u8981\u554f\u984c\u9818\u57df\n        if (patterns.socialIssues > 0.6) {\n            personalizedHTML += `\n                <p><strong>\u793e\u4ea4\u8207\u4eba\u969b\u95dc\u4fc2\uff1a<\/strong>\u60a8\u7684\u56de\u7b54\u986f\u793a\u5728\u793e\u4ea4\u4e92\u52d5\u65b9\u9762\u53ef\u80fd\u9047\u5230\u4e00\u4e9b\u56f0\u96e3\u3002\u5efa\u8b70\u5617\u8a66\u5f9e\u5c0f\u578b\u3001\u8212\u9069\u7684\u793e\u4ea4\u6d3b\u52d5\u958b\u59cb\uff0c\u9010\u6b65\u64f4\u5c55\u793e\u4ea4\u5708\u3002<\/p>\n            `;\n        }\n        \n        if (patterns.energyIssues > 0.6) {\n            personalizedHTML += `\n                <p><strong>\u7cbe\u529b\u8207\u6d3b\u529b\uff1a<\/strong>\u60a8\u53ef\u80fd\u611f\u5230\u7cbe\u529b\u4e0d\u8db3\u6216\u7f3a\u4e4f\u52d5\u529b\u3002\u5efa\u8b70\u5efa\u7acb\u898f\u5f8b\u7684\u4f5c\u606f\u6642\u9593\uff0c\u9069\u5ea6\u904b\u52d5\uff0c\u4e26\u78ba\u4fdd\u5145\u8db3\u7684\u7761\u7720\u54c1\u8cea\u3002<\/p>\n            `;\n        }\n        \n        if (patterns.cognitiveIssues > 0.6) {\n            personalizedHTML += `\n                <p><strong>\u8a8d\u77e5\u529f\u80fd\uff1a<\/strong>\u6ce8\u610f\u5230\u60a8\u5728\u8a18\u61b6\u529b\u6216\u5c08\u6ce8\u529b\u65b9\u9762\u6709\u4e9b\u64d4\u6182\u3002\u53ef\u4ee5\u5617\u8a66\u8a8d\u77e5\u8a13\u7df4\u6d3b\u52d5\uff0c\u5982\u95b1\u8b80\u3001\u62fc\u5716\u6216\u5b78\u7fd2\u65b0\u6280\u80fd\u3002<\/p>\n            `;\n        }\n        \n        if (patterns.emotionalIssues > 0.6) {\n            personalizedHTML += `\n                <p><strong>\u60c5\u7dd2\u8abf\u7bc0\uff1a<\/strong>\u60a8\u7684\u60c5\u7dd2\u53ef\u80fd\u8f03\u70ba\u654f\u611f\u6216\u4e0d\u7a69\u5b9a\u3002\u5efa\u8b70\u5b78\u7fd2\u60c5\u7dd2\u8abf\u7bc0\u6280\u5de7\uff0c\u5982\u6df1\u547c\u5438\u3001\u6b63\u5ff5\u51a5\u60f3\u6216\u5beb\u65e5\u8a18\u3002<\/p>\n            `;\n        }\n        \n        if (patterns.futureWorries > 0.6) {\n            personalizedHTML += `\n                <p><strong>\u5c0d\u672a\u4f86\u7684\u64d4\u6182\uff1a<\/strong>\u60a8\u4f3c\u4e4e\u5c0d\u672a\u4f86\u611f\u5230\u4e0d\u78ba\u5b9a\u6216\u64d4\u5fc3\u3002\u8a66\u8457\u5c08\u6ce8\u65bc\u7576\u4e0b\uff0c\u8a2d\u5b9a\u5c0f\u76ee\u6a19\uff0c\u4e26\u6176\u795d\u6bcf\u500b\u5c0f\u6210\u5c31\u3002<\/p>\n            `;\n        }\n        \n        \/\/ \u7a4d\u6975\u9762\u5411\n        if (patterns.positiveAspects.length > 0) {\n            personalizedHTML += `\n                <p><strong>\u7a4d\u6975\u9762\u5411\uff1a<\/strong>\u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u60a8\u5728\u4ee5\u4e0b\u65b9\u9762\u8868\u73fe\u826f\u597d\uff1a${patterns.positiveAspects.join('\u3001')}\u3002\u9019\u4e9b\u90fd\u662f\u60a8\u7684\u512a\u52e2\uff0c\u53ef\u4ee5\u4f5c\u70ba\u6539\u5584\u5176\u4ed6\u65b9\u9762\u7684\u57fa\u790e\u3002<\/p>\n            `;\n        }\n        \n        personalizedHTML += '<\/div>';\n        document.getElementById('gds30-personalized-content').innerHTML = personalizedHTML;\n    }\n    \n    \/\/ \u5206\u6790\u7b54\u6848\u6a21\u5f0f\n    function analyzeAnswerPatterns() {\n        const patterns = {\n            socialIssues: 0,\n            energyIssues: 0,\n            cognitiveIssues: 0,\n            emotionalIssues: 0,\n            futureWorries: 0,\n            positiveAspects: []\n        };\n        \n        \/\/ \u793e\u4ea4\u554f\u984c\uff08\u984c\u76ee\uff1a10, 12, 28\uff09\n        const socialQuestions = [9, 11, 27]; \/\/ \u9663\u5217\u7d22\u5f15\n        patterns.socialIssues = socialQuestions.reduce((sum, idx) => sum + answers[idx], 0) \/ socialQuestions.length;\n        \n        \/\/ \u7cbe\u529b\u554f\u984c\uff08\u984c\u76ee\uff1a4, 7, 21\uff09\n        const energyQuestions = [3, 6, 20];\n        patterns.energyIssues = energyQuestions.reduce((sum, idx) => sum + answers[idx], 0) \/ energyQuestions.length;\n        \n        \/\/ \u8a8d\u77e5\u554f\u984c\uff08\u984c\u76ee\uff1a14, 26, 29, 30\uff09\n        const cognitiveQuestions = [13, 25, 28, 29];\n        patterns.cognitiveIssues = cognitiveQuestions.reduce((sum, idx) => sum + answers[idx], 0) \/ cognitiveQuestions.length;\n        \n        \/\/ \u60c5\u7dd2\u554f\u984c\uff08\u984c\u76ee\uff1a16, 24, 25\uff09\n        const emotionalQuestions = [15, 23, 24];\n        patterns.emotionalIssues = emotionalQuestions.reduce((sum, idx) => sum + answers[idx], 0) \/ emotionalQuestions.length;\n        \n        \/\/ \u672a\u4f86\u64d4\u6182\uff08\u984c\u76ee\uff1a5, 13, 22\uff09\n        const futureQuestions = [4, 12, 21];\n        patterns.futureWorries = futureQuestions.reduce((sum, idx) => sum + answers[idx], 0) \/ futureQuestions.length;\n        \n        \/\/ \u627e\u51fa\u7a4d\u6975\u9762\u5411\n        if (answers[0] === 0) patterns.positiveAspects.push('\u5c0d\u751f\u6d3b\u611f\u5230\u6eff\u610f');\n        if (answers[8] === 0) patterns.positiveAspects.push('\u5927\u90e8\u5206\u6642\u9593\u611f\u5230\u5e78\u798f');\n        if (answers[14] === 0) patterns.positiveAspects.push('\u751f\u6d3b\u611f\u5230\u611c\u610f');\n        if (answers[26] === 0) patterns.positiveAspects.push('\u65e9\u6668\u5fc3\u60c5\u6109\u5feb');\n        \n        return patterns;\n    }\n    \n    \/\/ \u8a08\u7b97\u5404\u7dad\u5ea6\u5206\u6578\n    function calculateDimensions() {\n        \/\/ \u5c07\u554f\u984c\u6620\u5c04\u5230\u4e0d\u540c\u7dad\u5ea6\n        const dimensionMapping = {\n            '\u60c5\u7dd2\u4f4e\u843d': [2, 3, 15, 16, 24, 25],\n            '\u8208\u8da3\u7f3a\u5931': [1, 2, 18, 19, 20, 21],\n            '\u7126\u616e\u64d4\u6182': [6, 7, 8, 10, 11, 13],\n            '\u8a8d\u77e5\u56f0\u96e3': [13, 14, 26, 29, 30],\n            '\u793e\u4ea4\u9000\u7e2e': [10, 12, 28],\n            '\u8eab\u9ad4\u75c7\u72c0': [4, 7, 9, 26, 27]\n        };\n        \n        const dimensions = [];\n        for (const dimension in dimensionMapping) {\n            const indices = dimensionMapping[dimension];\n            const score = indices.reduce((sum, idx) => sum + (answers[idx - 1] || 0), 0);\n            const percentage = (score \/ indices.length) * 100;\n            dimensions.push(Math.min(percentage, 100));\n        }\n        \n        return dimensions;\n    }\n    \n    \/\/ \u7e6a\u88fd\u5716\u8868\n    function drawCharts() {\n        \/\/ \u96f7\u9054\u5716 - \u75c7\u72c0\u5206\u4f48\n        const ctx = document.getElementById('gds30-radar-chart').getContext('2d');\n        \n        \/\/ \u8a08\u7b97\u5404\u7dad\u5ea6\u5206\u6578\n        const dimensions = calculateDimensions();\n        \n        new Chart(ctx, {\n            type: 'radar',\n            data: {\n                labels: ['\u60c5\u7dd2\u4f4e\u843d', '\u8208\u8da3\u7f3a\u5931', '\u7126\u616e\u64d4\u6182', '\u8a8d\u77e5\u56f0\u96e3', '\u793e\u4ea4\u9000\u7e2e', '\u8eab\u9ad4\u75c7\u72c0'],\n                datasets: [{\n                    label: '\u75c7\u72c0\u7a0b\u5ea6',\n                    data: dimensions,\n                    backgroundColor: 'rgba(90, 140, 90, 0.2)',\n                    borderColor: 'rgba(90, 140, 90, 1)',\n                    borderWidth: 2,\n                    pointBackgroundColor: 'rgba(90, 140, 90, 1)',\n                    pointBorderColor: '#fff',\n                    pointHoverBackgroundColor: '#fff',\n                    pointHoverBorderColor: 'rgba(90, 140, 90, 1)',\n                    pointRadius: 4,\n                    pointHoverRadius: 6\n                }]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                plugins: {\n                    legend: {\n                        display: false\n                    },\n                    title: {\n                        display: false\n                    }\n                },\n                scales: {\n                    r: {\n                        beginAtZero: true,\n                        max: 100,\n                        ticks: {\n                            stepSize: 20,\n                            font: {\n                                size: 12\n                            }\n                        },\n                        pointLabels: {\n                            font: {\n                                size: 14\n                            }\n                        },\n                        grid: {\n                            color: 'rgba(0, 0, 0, 0.1)'\n                        }\n                    }\n                }\n            }\n        });\n    }\n    \n    \/\/ \u91cd\u65b0\u958b\u59cb\n    function restart() {\n        currentQuestion = 0;\n        answers = [];\n        userChoices = [];\n        totalScore = 0;\n        showPage('gds30-intro');\n    }\n    \n    \/\/ \u516c\u958bAPI\n    return {\n        startAssessment,\n        selectAnswer,\n        previousQuestion,\n        restart\n    };\n})();\n\n\/\/ \u78ba\u4fddChart.js\u8f09\u5165\nif (typeof Chart === 'undefined') {\n    const script = document.createElement('script');\n    script.src = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js';\n    script.onload = function() {\n        Chart.defaults.font.family = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Microsoft JhengHei\", sans-serif';\n    };\n    document.head.appendChild(script);\n} else {\n    Chart.defaults.font.family = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Microsoft JhengHei\", sans-serif';\n}\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\u8001\u5e74\u6291\u90c1\u91cf\u8868\uff08The Geriatric Depression Scale\uff0cGDS\uff09\uff0c\u4e8e1982\u5e74\u7531Brick\u7b49\u4eba\u521b\u5236\uff0c\u662f\u4e13\u7528\u4e8e\u8001\u5e74\u4eba\u7684\u6291\u90c1\u7b5b\u67e5\u91cf\u8868\uff0c\u5df2\u88ab\u5404\u56fd\u5e7f\u6cdb\u63a5\u53d7\u3002\u5176\u4e3b\u8981\u7528\u9014\u4e3a\u5728\u8001\u5e74\u4eba\u4e2d\u7b5b\u51fa\u53ef\u80fd\u4e3a\u6291\u90c1\u7684\u5bf9\u8c61\uff0c\u4ee5\u4fbf\u8fdb\u4e00\u6b65\u660e\u786e\u8bca\u65ad\u3002<\/p>","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"narrow-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","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":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[169,165,162],"tags":[182,180,191],"class_list":["post-5668","post","type-post","status-publish","format-standard","hentry","category-psychological-symptom-scales","category-neuropsychological","category-clinical","tag-depression","tag-depression-1","tag-elderly"],"_links":{"self":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/5668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/comments?post=5668"}],"version-history":[{"count":3,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/5668\/revisions"}],"predecessor-version":[{"id":10275,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/5668\/revisions\/10275"}],"wp:attachment":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/media?parent=5668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/categories?post=5668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/tags?post=5668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}