{"id":238,"date":"2025-04-09T09:24:39","date_gmt":"2025-04-09T09:24:39","guid":{"rendered":"https:\/\/twobirdsonestoned.co\/?page_id=238"},"modified":"2025-11-18T05:58:25","modified_gmt":"2025-11-18T05:58:25","slug":"listen","status":"publish","type":"page","link":"https:\/\/twobirdsonestoned.co\/zh\/listen\/","title":{"rendered":"\u6536\u542c"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"238\" class=\"elementor elementor-238\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17988e3 e-con-full e-flex e-con e-parent\" data-id=\"17988e3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b36974c elementor-widget elementor-widget-html\" data-id=\"b36974c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    \n    <!-- Primary Meta Tags -->\n    <title>\u5927\u9ebb\u6559\u80b2\u64ad\u5ba2\u548c\u97f3\u9891\u5185\u5bb9 | \u4e24\u9e1f\u4e00\u77f3<\/title>\n    <meta name=\"title\" content=\"Cannabis Education Podcasts & Audio Content | Two Birds One Stoned\">\n    <meta name=\"description\" content=\"\u6536\u542c\u4ee5\u8bc1\u636e\u4e3a\u57fa\u7840\u7684\u5927\u9ebb\u6559\u80b2\u64ad\u5ba2\uff0c\u5185\u5bb9\u6db5\u76d6\u690d\u7269\u79d1\u5b66\u3001\u533b\u7597\u5e94\u7528\u548c\u7814\u7a76\u3002Spotify \u4e0a\u7684\u6559\u80b2\u97f3\u9891\u5185\u5bb9\u3002\">\n    <meta name=\"keywords\" content=\"cannabis podcast, educational audio, cannabis science podcast, medical cannabis audio, endocannabinoid system podcast, CBD THC education, cannabis research audio\">\n    <meta name=\"author\" content=\"James Gallagher, Two Birds One Stoned\">\n    <meta name=\"robots\" content=\"index, follow\">\n    <meta name=\"language\" content=\"en\">\n    <meta name=\"theme-color\" content=\"#4CAF50\">\n    \n    <!-- Canonical URL -->\n    <link rel=\"canonical\" href=\"https:\/\/twobirdsonestoned.co\/listen-and-learn\">\n    \n    <!-- Open Graph \/ Facebook -->\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https:\/\/twobirdsonestoned.co\/listen-and-learn\">\n    <meta property=\"og:title\" content=\"\u5927\u9ebb\u6559\u80b2\u64ad\u5ba2\u548c\u97f3\u9891\u5185\u5bb9 | \u4e24\u9e1f\u4e00\u77f3\">\n    <meta property=\"og:description\" content=\"\u6536\u542c\u4ee5\u8bc1\u636e\u4e3a\u57fa\u7840\u7684\u5927\u9ebb\u6559\u80b2\u64ad\u5ba2\uff0c\u5185\u5bb9\u6db5\u76d6\u690d\u7269\u79d1\u5b66\u3001\u533b\u7597\u5e94\u7528\u548c\u7814\u7a76\u3002Spotify \u4e0a\u7684\u6559\u80b2\u97f3\u9891\u5185\u5bb9\u3002\">\n    <meta property=\"og:image\" content=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/09\/Logo-4-1.png\">\n    <meta property=\"og:image:width\" content=\"1200\">\n    <meta property=\"og:image:height\" content=\"630\">\n    <meta property=\"og:image:alt\" content=\"\u4e24\u9e1f\u4e00\u77f3 - \u5927\u9ebb\u6559\u80b2\u64ad\u5ba2\u5e73\u53f0\">\n    <meta property=\"og:site_name\" content=\"Two Birds One Stoned\">\n    <meta property=\"og:locale\" content=\"en_US\">\n    <meta property=\"og:audio\" content=\"https:\/\/open.spotify.com\/show\/7D7FmCLeLaUlMNrQUUkZLH\">\n    \n    <!-- Preconnect for Performance -->\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;700&display=swap\" rel=\"stylesheet\">\n    \n    <!-- Preload Audio Assets -->\n    <link rel=\"preload\" href=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Nighttime-Bird.mp3\" as=\"audio\" type=\"audio\/mpeg\">\n    <link rel=\"preload\" href=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Daytime-Bird-.mp3\" as=\"audio\" type=\"audio\/mpeg\">\n    \n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        html {\n            background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%);\n            width: 100%;\n            min-height: 100vh;\n            margin: 0;\n            padding: 0;\n        }\n\n        body {\n            font-family: 'Montserrat', sans-serif;\n            background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%);\n            color: #fff;\n            width: 100%;\n            min-height: 100vh;\n            margin: 0;\n            padding: 0;\n        }\n\n        .reading-progress {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 0%;\n            height: 4px;\n            background: linear-gradient(90deg, #4CAF50, #F4C542);\n            z-index: 1000;\n            transition: width 0.3s ease;\n        }\n\n        .filter-section {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 2rem;\n            margin-bottom: 2rem;\n            opacity: 0;\n            transform: translateY(20px);\n            transition: all 0.8s ease;\n        }\n\n        .filter-section.animate-in {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        .search-filter-container {\n            display: flex;\n            justify-content: center;\n            margin-bottom: 1rem;\n        }\n\n        .search-box {\n            width: 100%;\n            max-width: 400px;\n            padding: 0.75rem 1rem;\n            border: 2px solid rgba(156,175,136,0.3);\n            border-radius: 1.5rem;\n            background: rgba(29,29,29,0.8);\n            color: #fff;\n            font-family: 'Montserrat', sans-serif;\n            text-align: center;\n        }\n\n        .search-box::placeholder {\n            color: rgba(255,255,255,0.6);\n        }\n\n        .tbos-listen {\n            background: transparent;\n            margin: 0;\n            min-height: 100vh;\n            width: 100%;\n            padding: 0;\n            position: relative;\n            padding-top: 150px;\n            padding-bottom: 4rem;\n        }\n\n        .tbos-container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 2rem;\n            width: 100%;\n        }\n\n        .tbos-listen .tbos-section-title {\n            font-family: 'Montserrat', sans-serif;\n            color: #ffffff;\n            word-break: break-word;\n        }\n\n        .tbos-listen .tbos-article-grid {\n            display: grid;\n            grid-template-columns: repeat(3, 1fr);\n            gap: 2rem;\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 1rem;\n        }\n\n        @media (max-width: 1024px) {\n            .tbos-listen .tbos-article-grid {\n                grid-template-columns: repeat(2, 1fr);\n            }\n        }\n\n        @media (max-width: 767px) {\n            .tbos-listen .tbos-article-grid {\n                grid-template-columns: 1fr;\n            }\n        }\n\n        .tbos-listen .tbos-article-card {\n            background-color: #1d1d1d;\n            color: #fff;\n            padding: 2rem;\n            border-radius: 1rem;\n            border: 1px solid rgba(156,175,136,0.3);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n            transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.6s ease;\n            overflow: hidden;\n            opacity: 0;\n            transform: translateY(30px);\n            position: relative;\n        }\n\n        .tbos-listen .tbos-article-card.animate-in {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        .tbos-listen .tbos-article-card:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);\n        }\n\n        .tbos-listen .tbos-article-card.hidden {\n            display: none;\n        }\n\n        .tbos-listen .tbos-article-card h3 {\n            font-size: 1.7rem;\n            margin-bottom: 1rem;\n            line-height: 1.3;\n            word-break: break-word;\n            color: #F4C542;\n        }\n\n        .tbos-listen .tbos-article-card p {\n            font-size: 1rem;\n            line-height: 1.6;\n            margin-bottom: 1.5rem;\n            color: #E3E3DC;\n        }\n\n        .tbos-listen .tbos-button {\n            align-self: flex-start;\n            background-color: #4CAF50;\n            color: #000;\n            text-decoration: none;\n            padding: 0.75rem 1.5rem;\n            border-radius: 0.5rem;\n            font-weight: bold;\n            transition: all 0.3s ease;\n            display: inline-block;\n            position: relative;\n            overflow: hidden;\n        }\n\n        .tbos-listen .tbos-button:hover {\n            background-color: #45a049;\n            transform: translateY(-2px) scale(1.02);\n            box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);\n        }\n\n        .no-results {\n            text-align: center;\n            padding: 3rem;\n            color: rgba(255,255,255,0.6);\n            display: none;\n        }\n\n        .keep-learning-section {\n            background-color: #1d1d1d;\n            color: #fff;\n            padding: 2rem;\n            border-radius: 1rem;\n            border: 1px solid rgba(156,175,136,0.3);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n            margin: 6rem auto 3rem auto;\n            max-width: 800px;\n            transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.6s ease;\n            overflow: hidden;\n            opacity: 0;\n            transform: translateY(30px);\n        }\n\n        .keep-learning-section.animate-in {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        .keep-learning-section:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);\n        }\n\n        .signup-split {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 3rem;\n            align-items: center;\n        }\n\n        .signup-text h3 {\n            color: #F4C542;\n            font-size: clamp(18px, 4vw, 24px);\n            margin-bottom: 1.5rem;\n            font-weight: 600;\n            line-height: 1.3;\n            text-align: left;\n        }\n\n        .signup-text p {\n            color: #E3E3DC;\n            font-size: 1rem;\n            line-height: 1.6;\n            margin-bottom: 1.5rem;\n            text-align: left;\n        }\n\n        .signup-form-container {\n            display: flex;\n            flex-direction: column;\n        }\n\n        .signup-form-container input {\n            width: 100%;\n            padding: 1rem 1.5rem;\n            border: 1px solid rgba(156,175,136,0.3);\n            border-radius: 8px;\n            background: rgba(255,255,255,0.05);\n            color: #fff;\n            font-size: 1rem;\n            margin-bottom: 1rem;\n            font-family: 'Montserrat', sans-serif;\n            box-sizing: border-box;\n        }\n\n        .signup-form-container input:focus {\n            outline: none;\n            border-color: #4CAF50;\n        }\n\n        .signup-form-container input::placeholder {\n            color: rgba(255,255,255,0.6);\n        }\n\n        .signup-form-container button {\n            width: 100%;\n            padding: 1rem;\n            background: linear-gradient(135deg, #4CAF50, #45a049);\n            border: none;\n            border-radius: 8px;\n            color: #fff;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            font-family: 'Montserrat', sans-serif;\n        }\n\n        .signup-form-container button:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);\n        }\n\n        .signup-form-container button:disabled {\n            opacity: 0.7;\n            cursor: not-allowed;\n            transform: none;\n        }\n\n        .form-note {\n            color: #E3E3DC;\n            font-size: 0.9rem;\n            opacity: 0.8;\n            margin: 1.5rem 0 0 0;\n            text-align: center;\n        }\n\n        .benefits-list {\n            list-style: none !important;\n            padding: 0 !important;\n            margin: 1.5rem 0;\n            padding-left: 0 !important;\n        }\n\n        .benefits-list li {\n            color: #E3E3DC;\n            margin-bottom: 1rem;\n            font-size: 1rem;\n            line-height: 1.6;\n            padding-left: 0 !important;\n            list-style: none !important;\n            position: relative;\n        }\n\n        .benefits-list li:last-child {\n            margin-bottom: 0;\n        }\n\n        .benefits-list li::before {\n            content: none !important;\n        }\n\n        #listen.tbos-section::before {\n            content: \"\";\n            display: block;\n            height: 100px;\n            margin-top: -100px;\n        }\n\n        @media (max-width: 768px) {\n            .tbos-container {\n                padding: 0 1rem;\n            }\n\n            .keep-learning-section {\n                padding: 1.5rem;\n                margin: 2rem auto;\n                position: relative;\n                z-index: 1;\n            }\n\n            .signup-split {\n                grid-template-columns: 1fr;\n                gap: 2rem;\n                text-align: center;\n            }\n\n            .signup-text h3,\n            .signup-text p {\n                text-align: center;\n            }\n\n            .signup-form-container {\n                position: relative;\n                z-index: 2;\n            }\n\n            .signup-form-container input {\n                width: 100%;\n                position: relative;\n                z-index: 3;\n            }\n\n            .signup-form-container button {\n                width: 100%;\n                position: relative;\n                z-index: 3;\n                margin-bottom: 0.5rem;\n            }\n\n            .form-note {\n                margin-top: 1rem;\n                position: relative;\n                z-index: 4;\n                clear: both;\n                display: block;\n                width: 100%;\n                padding-top: 0.5rem;\n            }\n\n            #formMessage {\n                position: relative;\n                z-index: 5;\n                clear: both;\n                margin-top: 1.5rem;\n            }\n        }\n\n        @media (max-width: 480px) {\n            .form-note {\n                margin-top: 1.5rem !important;\n                padding-top: 0.75rem !important;\n            }\n        }\n    <\/style>\n<\/head>\n<body class=\"dark-theme\">\n    <div class=\"reading-progress\" id=\"readingProgress\"><\/div>\n\n    <div style=\"display: none;\">\n        <audio id=\"nightTimeAudio\" preload=\"auto\">\n            <source src=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Nighttime-Bird.mp3\" type=\"audio\/mpeg\">\n        <\/audio>\n        \n        <audio id=\"dayTimeAudio\" preload=\"auto\">\n            <source src=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Daytime-Bird-.mp3\" type=\"audio\/mpeg\">\n        <\/audio>\n    <\/div>\n\n    <section id=\"listen\" class=\"tbos-section tbos-listen\">\n        <div class=\"tbos-container\">\n            <div style=\"margin-bottom: 6rem; text-align: center; opacity: 0; transform: translateY(-20px); transition: all 0.8s ease;\" class=\"title-container\">\n                <h1 class=\"tbos-section-title\" style=\"font-size: clamp(28px, 8vw, 48px); font-weight: bold; margin: 0 0 25px 0; text-shadow: 2px 2px 8px rgba(0,0,0,0.8); line-height: 1.1; text-align: center; padding: 0; display: block; width: 100%; clear: both; background: none; border-radius: 0; box-shadow: none; max-width: none; margin-left: auto; margin-right: auto;\">\n                    <span style=\"color: #F4C542; display: inline;\">\u8046\u542c<\/span> <span style=\"color: #F5EBD6; display: inline;\">\u548c<\/span> <span style=\"color: #F4C542; display: inline;\">\u5b66\u4e60<\/span>\n                <\/h1>\n                \n                <div style=\"text-align: center; margin-top: 20px;\">\n                    <button onclick=\"toggleThemeAndText()\" id=\"theme-toggle\" style=\"background: rgba(0,0,0,0.8); border: 2px solid #4CAF50; color: #4CAF50; padding: clamp(8px, 2vw, 12px) clamp(15px, 4vw, 25px); border-radius: 25px; cursor: pointer; transition: all 0.3s ease; font-size: clamp(16px, 3vw, 20px); font-weight: bold; font-family: 'Montserrat', sans-serif;\">\ud83c\udf19<\/button>\n                <\/div>\n            <\/div>\n\n            <div class=\"filter-section\">\n                <div class=\"search-filter-container\">\n                    <input type=\"text\" class=\"search-box\" placeholder=\"\u641c\u7d22\u97f3\u9891\u5185\u5bb9...\" id=\"searchInput\">\n                <\/div>\n            <\/div>\n            \n            <div class=\"tbos-article-grid\">\n                <div class=\"tbos-article-card\" data-keywords=\"history ancient laws rituals\">\n                    <h3>\u5730\u7403\u4e0a\u5927\u9ebb\u7684\u5386\u53f2 \ud83c\udf0d<\/h3>\n                    <p>\u4ece\u53e4\u4ee3\u4eea\u5f0f\u5230\u73b0\u4ee3\u6cd5\u5f8b\uff0c\u63a2\u7d22\u5927\u9ebb\u5982\u4f55\u4e0e\u4eba\u7c7b\u4e92\u52a8\u591a\u5e74<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/history-of-cannabis\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('history')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n\n                <div class=\"tbos-article-card\" data-keywords=\"anatomy plant structure bud stem kief\">\n                    <h3>\u5927\u9ebb\u690d\u7269\u7684\u89e3\u5256\u5b66 \ud83c\udf3f<\/h3>\n                    <p>\u53d1\u73b0\u5927\u9ebb\u690d\u7269\u7684\u72ec\u7279\u4e4b\u5904\u3002\u6211\u4eec\u4ece\u79cd\u5b50\u3001\u830e\u3001\u82b1\u857e\uff0c\u4e00\u76f4\u5230\u4f60\u7684\u6811\u8102\u7c89\u662f\u4ec0\u4e48<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/the-cannabis-plant\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('anatomy')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n\n                <div class=\"tbos-article-card\" data-keywords=\"compounds thc cbd cannabinoids terpenes\">\n                    <h3>\u5927\u9ebb\u5316\u5408\u7269\uff1a\u8d85\u8d8aTHC \ud83e\uddec<\/h3>\n                    <p>\u5206\u89e3\u8d1f\u8d23\u690d\u7269\u6548\u679c\u548c\u76ca\u5904\u7684\u5316\u5408\u7269\u3002<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/major-thccbd-minor-cannabinoids-terpenes-flavonoids\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('compounds')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n\n                <div class=\"tbos-article-card\" data-keywords=\"delivery methods smoking edibles vaping consumption\">\n                    <h3>\u5927\u9ebb\u7ed9\u836f\u65b9\u6cd5 \ud83c\udf2c\ufe0f<\/h3>\n                    <p>\u4ece\u5438\u98df\u5230\u98df\u7528\uff0c\u4e86\u89e3\u57fa\u4e8e\u4f60\u9700\u6c42\u7684\u6700\u5408\u9002\u6d88\u8d39\u65b9\u5f0f\u3002<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/delivery-methods-of-cannabis\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('delivery')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n\n                <div class=\"tbos-article-card\" data-keywords=\"endocannabinoid system receptors cb1 cb2\">\n                    <h3>\u5185\u6e90\u6027\u5927\u9ebb\u7d20\u7cfb\u7edf\u89e3\u91ca \ud83e\udde0<\/h3>\n                    <p>\u6211\u4eec\u81ea\u5df1\u5236\u9020\u5927\u9ebb\u7d20...\u542c\u542c\u8fd9\u4e2a\u5427 x<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/the-endocannabinoid-system\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('endocannabinoid')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n\n                <div class=\"tbos-article-card\" data-keywords=\"medical uses therapeutic benefits health conditions\">\n                    <h3>\u5927\u9ebb\u7684\u533b\u7597\u7528\u9014 \ud83c\udfe5<\/h3>\n                    <p>\u63a2\u7d22\u5927\u9ebb\u5982\u4f55\u88ab\u7528\u6765\u6539\u5584\u5168\u7403\u5404\u5730\u7684\u751f\u6d3b\u3002<\/p>\n                    <a href=\"https:\/\/twobirdsonestoned.co\/zh\/medical-uses-of-cannabis\/#spotify-audio\" class=\"tbos-button\" onclick=\"trackArticleClick('medical')\">\u6536\u542c\u97f3\u9891<\/a>\n                <\/div>\n            <\/div>\n\n            <div class=\"no-results\" id=\"noResults\">\n                <h3>\u672a\u627e\u5230\u97f3\u9891\u5185\u5bb9<\/h3>\n                <p>\u5c1d\u8bd5\u8c03\u6574\u4f60\u7684\u641c\u7d22\u6216\u7b5b\u9009\u6761\u4ef6<\/p>\n            <\/div>\n\n            <div class=\"keep-learning-section\">\n                <div class=\"signup-split\">\n                    <div class=\"signup-text\">\n                        <h3>\u7ee7\u7eed\u5b66\u4e60<\/h3>\n                        <p>\u5927\u9ebb\u6b63\u5728\u53d1\u5c55\u3002\u6211\u4eec\u6db5\u76d6\u79d1\u5b66\u3001\u7814\u7a76\u548c\u6587\u5316\u3002\u5168\u90e8\u514d\u8d39\u76f4\u63a5\u53d1\u9001\u5230\u60a8\u7684\u6536\u4ef6\u7bb1\u3002\u6ca1\u6709\u793e\u4ea4\u5a92\u4f53\uff0c\u53ea\u6709\u5b9e\u8d28\u5185\u5bb9<\/p>\n                        <ul class=\"benefits-list\">\n                            <li>\ud83c\udfac \u8bbf\u8c08\u548c\u7eaa\u5f55\u7247<\/li>\n                            <li>\ud83d\udcda \u6559\u80b2\u89c6\u9891\u548c\u97f3\u9891<\/li>\n                            <li>\ud83d\udd2c \u79d1\u5b66\u652f\u6301\u7684\u4fe1\u606f\u548c\u89c1\u89e3<\/li>\n                        <\/ul>\n                    <\/div>\n                    <div class=\"signup-form\">\n                        <form class=\"signup-form-container\" id=\"emailForm\" action=\"\">\n                            <input type=\"email\" name=\"entry.690743589\" placeholder=\"\u4f60\u7684@\u90ae\u7bb1.com\" required id=\"emailInput\">\n                            <button type=\"submit\" id=\"emailSubmitBtn\">\u83b7\u53d6\u66f4\u65b0<\/button>\n                            <p class=\"form-note\">\u27a1\ufe0f \u4fdd\u6301\u597d\u5947 \u2b05\ufe0f<\/p>\n                        <input type=\"hidden\" name=\"trp-form-language\" value=\"zh\"\/><\/form>\n                    <\/div>\n                <\/div>\n                <div id=\"formMessage\" style=\"margin-top: 1rem; text-align: center; font-weight: 600; display: none;\"><\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <script>\n        let isDarkTheme = true;\n\n        function trackArticleClick(articleName) {\n            const clicks = JSON.parse(localStorage.getItem('articleClicks') || '{}');\n            clicks[articleName] = (clicks[articleName] || 0) + 1;\n            localStorage.setItem('articleClicks', JSON.stringify(clicks));\n            console.log('Article clicked:', articleName, 'Total clicks:', clicks[articleName]);\n        }\n\n        function setupEmailSignup() {\n            const form = document.getElementById('emailForm');\n            const emailInput = document.getElementById('emailInput');\n            const submitBtn = document.getElementById('emailSubmitBtn');\n            const messageDiv = document.getElementById('formMessage');\n            \n            if (!form) return;\n            \n            form.addEventListener('submit', function(e) {\n                e.preventDefault();\n                \n                const email = emailInput.value.trim();\n                if (!email) return;\n                \n                const originalText = submitBtn.textContent;\n                submitBtn.textContent = 'Joining...';\n                submitBtn.disabled = true;\n                \n                const formData = new FormData();\n                formData.append('entry.690743589', email);\n                \n                fetch('https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLScW8HjmPphzsshGW4S1qe1wHtQTkEcJhDhvl0u34o9ep-wepQ\/formResponse', {\n                    method: 'POST',\n                    body: formData,\n                    mode: 'no-cors'\n                })\n                .then(() => {\n                    messageDiv.style.display = 'block';\n                    messageDiv.style.color = '#4CAF50';\n                    messageDiv.textContent = '\ud83c\udf89 Thanks! You\\'re on the list.';\n                    emailInput.value = '';\n                    setTimeout(() => {\n                        messageDiv.style.display = 'none';\n                    }, 5000);\n                })\n                .catch(() => {\n                    messageDiv.style.display = 'block';\n                    messageDiv.style.color = '#ff6b6b';\n                    messageDiv.textContent = 'Oops! Something went wrong. Please try again.';\n                    setTimeout(() => {\n                        messageDiv.style.display = 'none';\n                    }, 5000);\n                })\n                .finally(() => {\n                    submitBtn.textContent = originalText;\n                    submitBtn.disabled = false;\n                });\n            });\n        }\n\n        function initializeSearch() {\n            const searchInput = document.getElementById('searchInput');\n            const articles = document.querySelectorAll('.tbos-article-card');\n            const noResults = document.getElementById('noResults');\n\n            searchInput.addEventListener('input', function() {\n                const searchTerm = this.value.toLowerCase();\n                let visibleCount = 0;\n\n                articles.forEach(article => {\n                    const title = article.querySelector('h3').textContent.toLowerCase();\n                    const description = article.querySelector('p').textContent.toLowerCase();\n                    const keywords = article.dataset.keywords.toLowerCase();\n\n                    const matchesSearch = title.includes(searchTerm) || \n                                        description.includes(searchTerm) || \n                                        keywords.includes(searchTerm);\n\n                    if (matchesSearch || searchTerm === '') {\n                        article.classList.remove('hidden');\n                        visibleCount++;\n                    } else {\n                        article.classList.add('hidden');\n                    }\n                });\n\n                noResults.style.display = (visibleCount === 0 && searchTerm !== '') ? 'block' : 'none';\n            });\n        }\n\n        function initializeProgressBar() {\n            const progressBar = document.getElementById('readingProgress');\n            \n            window.addEventListener('scroll', function() {\n                const windowHeight = window.innerHeight;\n                const documentHeight = document.documentElement.scrollHeight - windowHeight;\n                const scrollProgress = (window.scrollY \/ documentHeight) * 100;\n                \n                progressBar.style.width = Math.min(scrollProgress, 100) + '%';\n            });\n        }\n\n        function toggleThemeAndText() {\n            const button = document.getElementById('theme-toggle');\n            const currentEmoji = button.textContent.trim();\n            \n            if (currentEmoji === '\ud83c\udf19') {\n                button.textContent = '\u2600\ufe0f';\n                playAudio('dayTimeAudio');\n                isDarkTheme = false;\n            } else {\n                button.textContent = '\ud83c\udf19';\n                playAudio('nightTimeAudio');\n                isDarkTheme = true;\n            }\n            \n            toggleTheme();\n        }\n\n        function playAudio(audioId) {\n            const audio = document.getElementById(audioId);\n            \n            if (audio) {\n                audio.currentTime = 0;\n                const playPromise = audio.play();\n                \n                if (playPromise !== undefined) {\n                    playPromise.then(() => {\n                        console.log(`${audioId} played successfully`);\n                    }).catch(error => {\n                        console.log(`Audio play failed for ${audioId}:`, error);\n                        showVisualFeedback(audioId);\n                    });\n                }\n            }\n        }\n\n        function showVisualFeedback(audioId) {\n            const button = document.getElementById('theme-toggle');\n            const originalTransform = button.style.transform;\n            \n            button.style.transform = 'scale(1.1)';\n            button.style.transition = 'transform 0.1s ease';\n            \n            setTimeout(() => {\n                button.style.transform = originalTransform;\n                button.style.transition = 'all 0.3s ease';\n            }, 100);\n        }\n\n        function toggleTheme() {\n            const body = document.body;\n            const html = document.documentElement;\n            const contentCards = document.querySelectorAll('.tbos-article-card');\n            const title = document.querySelector('.tbos-section-title');\n            const buttons = document.querySelectorAll('.tbos-button');\n            const toggleButton = document.getElementById('theme-toggle');\n            \n            const header = document.querySelector('.tbos-header');\n            const headerNavLinks = document.querySelectorAll('.tbos-nav a');\n            const headerSocialLinks = document.querySelectorAll('.tbos-socials a');\n            const dropdownContent = document.querySelectorAll('.dropdown-content');\n            const hamburgerLines = document.querySelectorAll('.hamburger-line');\n            \n            const mobileMenu = document.querySelector('.mobile-menu');\n            const mobileMenuLinks = document.querySelectorAll('.mobile-menu a');\n            const mobileSocialLinks = document.querySelectorAll('.mobile-socials a');\n            \n            const footerCardWrapper = document.querySelector('.footer-card-wrapper');\n            const footerTitle = document.querySelector('.footer-card h4');\n            const footerText = document.querySelectorAll('.footer-card p');\n            const footerLinks = document.querySelectorAll('.footer-bottom-row a');\n            const footerSocialLinks = document.querySelectorAll('.footer-social-group a');\n            \n            const searchInput = document.getElementById('searchInput');\n            const emailInput = document.getElementById('emailInput');\n            const keepLearningSection = document.querySelector('.keep-learning-section');\n            \n            if (!isDarkTheme) {\n                console.log('Applying LIGHT theme');\n                \n                \/\/ ADD BODY CLASS FOR THEME DETECTION\n                body.classList.add('light-theme');\n                body.classList.remove('dark-theme');\n                \n                html.style.setProperty('background', 'linear-gradient(135deg, #f8f6f0 0%, #ede8d8 25%, #e5dcc9 50%, #ede8d8 75%, #f8f6f0 100%)', 'important');\n                body.style.setProperty('background', 'linear-gradient(135deg, #f8f6f0 0%, #ede8d8 25%, #e5dcc9 50%, #ede8d8 75%, #f8f6f0 100%)', 'important');\n                \n                html.style.setProperty('margin', '0', 'important');\n                html.style.setProperty('padding', '0', 'important');\n                body.style.setProperty('margin', '0', 'important');\n                body.style.setProperty('padding', '0', 'important');\n                html.style.setProperty('min-height', '100vh', 'important');\n                body.style.setProperty('min-height', '100vh', 'important');\n                \n                if (header) {\n                    header.style.setProperty('background', '#ffffff', 'important');\n                    header.style.setProperty('border', '2px solid #000000', 'important');\n                }\n                \n                headerNavLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                });\n                \n                headerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                });\n                \n                dropdownContent.forEach(dropdown => {\n                    dropdown.style.setProperty('background', '#ffffff', 'important');\n                    dropdown.style.setProperty('border', '2px solid #000000', 'important');\n                    \n                    const dropdownLinks = dropdown.querySelectorAll('a');\n                    dropdownLinks.forEach(link => {\n                        link.style.setProperty('color', '#2A2A2A', 'important');\n                    });\n                });\n                \n                hamburgerLines.forEach(line => {\n                    line.style.setProperty('background', '#2A2A2A', 'important');\n                });\n                \n                if (mobileMenu) {\n                    mobileMenu.style.setProperty('background', '#ffffff', 'important');\n                    mobileMenu.style.setProperty('border-left', '2px solid #000000', 'important');\n                }\n                \n                mobileMenuLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                    link.style.setProperty('border-bottom', '1px solid rgba(0, 0, 0, 0.1)', 'important');\n                });\n                \n                mobileSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                    link.style.setProperty('background', 'rgba(0, 0, 0, 0.05)', 'important');\n                });\n                \n                if (footerCardWrapper) {\n                    footerCardWrapper.style.setProperty('background', '#ffffff', 'important');\n                    footerCardWrapper.style.setProperty('border', '2px solid #000000', 'important');\n                }\n                \n                if (footerTitle) {\n                    footerTitle.style.setProperty('color', '#B8860B', 'important');\n                }\n                \n                footerText.forEach(text => {\n                    text.style.setProperty('color', '#1a1a1a', 'important');\n                    text.style.setProperty('font-weight', '500', 'important');\n                });\n                \n                footerLinks.forEach(link => {\n                    link.style.setProperty('color', '#000000', 'important');\n                });\n                \n                footerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                if (searchInput) {\n                    searchInput.style.setProperty('background', '#ffffff', 'important');\n                    searchInput.style.setProperty('color', '#2A2A2A', 'important');\n                    searchInput.style.setProperty('border', '2px solid #B8860B', 'important');\n                }\n                \n                const searchPlaceholderStyle = document.getElementById('search-placeholder-style') || document.createElement('style');\n                searchPlaceholderStyle.id = 'search-placeholder-style';\n                searchPlaceholderStyle.innerHTML = `\n                    .search-box::placeholder {\n                        color: rgba(42, 42, 42, 0.7) !important;\n                    }\n                `;\n                document.head.appendChild(searchPlaceholderStyle);\n                \n                contentCards.forEach(card => {\n                    if (!card.classList.contains('hidden')) {\n                        card.style.setProperty('background-color', '#ffffff', 'important');\n                        card.style.setProperty('border', '2px solid #000000', 'important');\n                        card.style.setProperty('color', '#2A2A2A', 'important');\n                        \n                        const cardTitle = card.querySelector('h3');\n                        if (cardTitle) {\n                            cardTitle.style.setProperty('color', '#B8860B', 'important');\n                        }\n                        \n                        const cardP = card.querySelector('p');\n                        if (cardP) {\n                            cardP.style.setProperty('color', '#1a1a1a', 'important');\n                            cardP.style.setProperty('font-weight', '500', 'important');\n                        }\n                    }\n                });\n                \n                if (title) {\n                    title.style.setProperty('text-shadow', 'none', 'important');\n                    \n                    const spans = title.querySelectorAll('span');\n                    spans.forEach((span, index) => {\n                        if (index === 1) {\n                            span.style.setProperty('color', '#2A2A2A', 'important');\n                        } else {\n                            span.style.setProperty('color', '#B8860B', 'important');\n                        }\n                    });\n                }\n                \n                if (keepLearningSection) {\n                    keepLearningSection.style.setProperty('background', '#ffffff', 'important');\n                    keepLearningSection.style.setProperty('border', '2px solid #000000', 'important');\n                    \n                    const keepLearningTitle = keepLearningSection.querySelector('h3');\n                    if (keepLearningTitle) {\n                        keepLearningTitle.style.setProperty('color', '#B8860B', 'important');\n                    }\n                    \n                    const keepLearningText = keepLearningSection.querySelectorAll('p');\n                    keepLearningText.forEach(text => {\n                        text.style.setProperty('color', '#1a1a1a', 'important');\n                        text.style.setProperty('font-weight', '500', 'important');\n                    });\n\n                    const benefitsItems = keepLearningSection.querySelectorAll('.benefits-list li');\n                    benefitsItems.forEach(item => {\n                        item.style.setProperty('color', '#1a1a1a', 'important');\n                        item.style.setProperty('font-weight', '500', 'important');\n                    });\n\n                    const formInputs = keepLearningSection.querySelectorAll('.signup-form-container input');\n                    formInputs.forEach(input => {\n                        input.style.setProperty('background', '#ffffff', 'important');\n                        input.style.setProperty('color', '#2A2A2A', 'important');\n                        input.style.setProperty('border', '2px solid #B8860B', 'important');\n                        input.style.setProperty('border-radius', '8px', 'important');\n                    });\n\n                    const emailPlaceholderStyle = document.getElementById('email-placeholder-style') || document.createElement('style');\n                    emailPlaceholderStyle.id = 'email-placeholder-style';\n                    emailPlaceholderStyle.innerHTML = `\n                        .signup-form-container input::placeholder {\n                            color: rgba(42, 42, 42, 0.7) !important;\n                        }\n                    `;\n                    document.head.appendChild(emailPlaceholderStyle);\n\n                    const formButtons = keepLearningSection.querySelectorAll('.signup-form-container button');\n                    formButtons.forEach(button => {\n                        button.style.setProperty('background', 'linear-gradient(135deg, #B8860B, #A0750A)', 'important');\n                        button.style.setProperty('color', '#fff', 'important');\n                    });\n\n                    const formNotes = keepLearningSection.querySelectorAll('.form-note');\n                    formNotes.forEach(note => {\n                        note.style.setProperty('color', '#1a1a1a', 'important');\n                        note.style.setProperty('font-weight', '500', 'important');\n                    });\n                }\n                \n                buttons.forEach(button => {\n                    button.style.setProperty('background-color', '#ffffff', 'important');\n                    button.style.setProperty('color', '#2A2A2A', 'important');\n                    button.style.setProperty('padding-left', '0', 'important');\n                    button.style.setProperty('padding-right', '1.5rem', 'important');\n                    \n                    button.addEventListener('mouseenter', function() {\n                        this.style.setProperty('background-color', '#B8860B', 'important');\n                        this.style.setProperty('color', '#fff', 'important');\n                        this.style.setProperty('transform', 'translateY(-2px) scale(1.02)', 'important');\n                        this.style.setProperty('box-shadow', '0 4px 15px rgba(184, 134, 11, 0.3)', 'important');\n                    });\n                    \n                    button.addEventListener('mouseleave', function() {\n                        this.style.setProperty('background-color', '#ffffff', 'important');\n                        this.style.setProperty('color', '#2A2A2A', 'important');\n                        this.style.setProperty('transform', 'translateY(0) scale(1)', 'important');\n                        this.style.setProperty('box-shadow', '', 'important');\n                    });\n                });\n                \n                if (toggleButton) {\n                    toggleButton.style.setProperty('background', '#ffffff', 'important');\n                    toggleButton.style.setProperty('border', '2px solid #B8860B', 'important');\n                    toggleButton.style.setProperty('color', '#B8860B', 'important');\n                }\n                \n            } else {\n                console.log('Applying DARK theme');\n                \n                \/\/ REMOVE LIGHT THEME CLASS AND ADD DARK THEME CLASS\n                body.classList.remove('light-theme');\n                body.classList.add('dark-theme');\n                \n                html.style.setProperty('background', 'linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%)', 'important');\n                body.style.setProperty('background', 'linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%)', 'important');\n                \n                html.style.setProperty('margin', '0', 'important');\n                html.style.setProperty('padding', '0', 'important');\n                body.style.setProperty('margin', '0', 'important');\n                body.style.setProperty('padding', '0', 'important');\n                html.style.setProperty('min-height', '100vh', 'important');\n                body.style.setProperty('min-height', '100vh', 'important');\n                \n                if (header) {\n                    header.style.setProperty('background', '#1d1d1d', 'important');\n                    header.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                headerNavLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                });\n                \n                headerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                });\n                \n                dropdownContent.forEach(dropdown => {\n                    dropdown.style.setProperty('background', '#1d1d1d', 'important');\n                    dropdown.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                    \n                    const dropdownLinks = dropdown.querySelectorAll('a');\n                    dropdownLinks.forEach(link => {\n                        link.style.setProperty('color', '#f5ebd6', 'important');\n                    });\n                });\n                \n                hamburgerLines.forEach(line => {\n                    line.style.setProperty('background', '#f5ebd6', 'important');\n                });\n                \n                if (mobileMenu) {\n                    mobileMenu.style.setProperty('background', 'rgba(29, 29, 29, 0.98)', 'important');\n                    mobileMenu.style.setProperty('border-left', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                mobileMenuLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                    link.style.setProperty('border-bottom', '1px solid rgba(255, 255, 255, 0.1)', 'important');\n                });\n                \n                mobileSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                    link.style.setProperty('background', 'rgba(255, 255, 255, 0.05)', 'important');\n                });\n                \n                if (footerCardWrapper) {\n                    footerCardWrapper.style.setProperty('background', '#1d1d1d', 'important');\n                    footerCardWrapper.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                if (footerTitle) {\n                    footerTitle.style.setProperty('color', '#F4C542', 'important');\n                }\n                \n                footerText.forEach(text => {\n                    text.style.setProperty('color', '#f5ebd6', 'important');\n                    text.style.setProperty('font-weight', '400', 'important');\n                });\n                \n                footerLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                footerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                if (searchInput) {\n                    searchInput.style.setProperty('background', 'rgba(29,29,29,0.8)', 'important');\n                    searchInput.style.setProperty('color', '#fff', 'important');\n                    searchInput.style.setProperty('border', '2px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                const searchPlaceholderStyle = document.getElementById('search-placeholder-style');\n                if (searchPlaceholderStyle) {\n                    searchPlaceholderStyle.remove();\n                }\n\n                const emailPlaceholderStyle = document.getElementById('email-placeholder-style');\n                if (emailPlaceholderStyle) {\n                    emailPlaceholderStyle.remove();\n                }\n                \n                contentCards.forEach(card => {\n                    if (!card.classList.contains('hidden')) {\n                        card.style.setProperty('background-color', '#1d1d1d', 'important');\n                        card.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                        card.style.setProperty('color', '#F5EBD6', 'important');\n                        \n                        const cardTitle = card.querySelector('h3');\n                        if (cardTitle) {\n                            cardTitle.style.setProperty('color', '#F4C542', 'important');\n                        }\n                        \n                        const cardP = card.querySelector('p');\n                        if (cardP) {\n                            cardP.style.setProperty('color', '#E3E3DC', 'important');\n                            cardP.style.setProperty('font-weight', '400', 'important');\n                        }\n                    }\n                });\n                \n                if (title) {\n                    title.style.setProperty('text-shadow', '2px 2px 8px rgba(0,0,0,0.8)', 'important');\n                    \n                    const spans = title.querySelectorAll('span');\n                    spans.forEach((span, index) => {\n                        if (index === 1) {\n                            span.style.setProperty('color', '#F5EBD6', 'important');\n                        } else {\n                            span.style.setProperty('color', '#F4C542', 'important');\n                        }\n                    });\n                }\n                \n                if (keepLearningSection) {\n                    keepLearningSection.style.setProperty('background', '#1d1d1d', 'important');\n                    keepLearningSection.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                    \n                    const keepLearningTitle = keepLearningSection.querySelector('h3');\n                    if (keepLearningTitle) {\n                        keepLearningTitle.style.setProperty('color', '#F4C542', 'important');\n                    }\n                    \n                    const keepLearningText = keepLearningSection.querySelectorAll('p');\n                    keepLearningText.forEach(text => {\n                        text.style.setProperty('color', '#E3E3DC', 'important');\n                        text.style.setProperty('font-weight', '400', 'important');\n                    });\n\n                    const benefitsItems = keepLearningSection.querySelectorAll('.benefits-list li');\n                    benefitsItems.forEach(item => {\n                        item.style.setProperty('color', '#E3E3DC', 'important');\n                        item.style.setProperty('font-weight', '400', 'important');\n                    });\n\n                    const formInputs = keepLearningSection.querySelectorAll('.signup-form-container input');\n                    formInputs.forEach(input => {\n                        input.style.setProperty('background', 'rgba(255,255,255,0.05)', 'important');\n                        input.style.setProperty('color', '#fff', 'important');\n                        input.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                        input.style.setProperty('border-radius', '8px', 'important');\n                    });\n\n                    const formButtons = keepLearningSection.querySelectorAll('.signup-form-container button');\n                    formButtons.forEach(button => {\n                        button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                        button.style.setProperty('color', '#fff', 'important');\n                    });\n\n                    const formNotes = keepLearningSection.querySelectorAll('.form-note');\n                    formNotes.forEach(note => {\n                        note.style.setProperty('color', '#E3E3DC', 'important');\n                        note.style.setProperty('font-weight', '400', 'important');\n                    });\n                }\n                \n                buttons.forEach(button => {\n                    button.style.setProperty('background-color', '#4CAF50', 'important');\n                    button.style.setProperty('color', '#000', 'important');\n                    button.style.setProperty('padding-left', '0.75rem', 'important');\n                    button.style.setProperty('padding-right', '1.5rem', 'important');\n                    \n                    button.addEventListener('mouseenter', function() {\n                        this.style.setProperty('background-color', '#45a049', 'important');\n                        this.style.setProperty('color', '#000', 'important');\n                        this.style.setProperty('transform', 'translateY(-2px) scale(1.02)', 'important');\n                        this.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                    });\n                    \n                    button.addEventListener('mouseleave', function() {\n                        this.style.setProperty('background-color', '#4CAF50', 'important');\n                        this.style.setProperty('color', '#000', 'important');\n                        this.style.setProperty('transform', 'translateY(0) scale(1)', 'important');\n                        this.style.setProperty('box-shadow', '', 'important');\n                    });\n                });\n                \n                if (toggleButton) {\n                    toggleButton.style.setProperty('background', 'rgba(0,0,0,0.8)', 'important');\n                    toggleButton.style.setProperty('border', '2px solid #4CAF50', 'important');\n                    toggleButton.style.setProperty('color', '#4CAF50', 'important');\n                }\n            }\n            \n            console.log('Theme toggle complete');\n        }\n\n        function initializeAnimations() {\n            setTimeout(() => {\n                const titleContainer = document.querySelector('.title-container');\n                if (titleContainer) {\n                    titleContainer.style.opacity = '1';\n                    titleContainer.style.transform = 'translateY(0)';\n                }\n            }, 200);\n\n            setTimeout(() => {\n                const filterSection = document.querySelector('.filter-section');\n                if (filterSection) {\n                    filterSection.classList.add('animate-in');\n                }\n            }, 400);\n\n            const cards = document.querySelectorAll('.tbos-article-card');\n            cards.forEach((card, index) => {\n                setTimeout(() => {\n                    card.classList.add('animate-in');\n                }, 600 + (index * 150));\n            });\n\n            setTimeout(() => {\n                const keepLearningSection = document.querySelector('.keep-learning-section');\n                if (keepLearningSection) {\n                    keepLearningSection.classList.add('animate-in');\n                }\n            }, 600 + (cards.length * 150) + 300);\n        }\n\n        function enhanceButtonHovers() {\n            const buttons = document.querySelectorAll('.tbos-button');\n            buttons.forEach(button => {\n                button.addEventListener('mouseenter', function() {\n                    this.style.transform = 'translateY(-2px) scale(1.02)';\n                });\n                \n                button.addEventListener('mouseleave', function() {\n                    this.style.transform = 'translateY(0) scale(1)';\n                });\n            });\n        }\n\n        document.addEventListener('DOMContentLoaded', function() {\n            toggleTheme();\n            initializeAnimations();\n            enhanceButtonHovers();\n            initializeSearch();\n            initializeProgressBar();\n            setupEmailSignup();\n        });\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Cannabis Education Podcasts &#038; Audio Content | Two Birds One Stoned LISTEN AND LEARN \ud83c\udf19 The History of Cannabis on Earth \ud83c\udf0d From ancient rituals to modern laws, explore how cannabis has interacted with humans for years. Listen to audio The Anatomy of the Cannabis Plant \ud83c\udf3f Discover what makes the cannabis plant unique. We [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-238","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":18,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/238\/revisions"}],"predecessor-version":[{"id":8069,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/238\/revisions\/8069"}],"wp:attachment":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/media?parent=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}