{"id":7726,"date":"2025-10-20T13:21:13","date_gmt":"2025-10-20T13:21:13","guid":{"rendered":"https:\/\/twobirdsonestoned.co\/?page_id=7726"},"modified":"2025-10-21T12:09:01","modified_gmt":"2025-10-21T12:09:01","slug":"whos-typing-da-words","status":"publish","type":"page","link":"https:\/\/twobirdsonestoned.co\/zh\/whos-typing-da-words\/","title":{"rendered":"Who&#8217;s typing da words?"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7726\" class=\"elementor elementor-7726\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1098dc e-flex e-con-boxed e-con e-parent\" data-id=\"a1098dc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1485cea elementor-widget elementor-widget-html\" data-id=\"1485cea\" 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>Who's Typing Da Words - Two Birds One Stoned | Meet James<\/title>\n    <meta name=\"title\" content=\"Who's Typing Da Words - Two Birds One Stoned | Meet James\">\n    <meta name=\"description\" content=\"Meet James Gallagher, the voice behind Two Birds One Stoned. From Dublin tech to Australian cannabis education, this is the journey that shaped the platform.\">\n    <meta name=\"keywords\" content=\"James Gallagher, Two Birds One Stoned, cannabis education, founder story, cannabis advocate\">\n    <meta name=\"author\" content=\"James Gallagher\">\n    <meta name=\"robots\" content=\"index, follow\">\n    \n    <!-- Canonical URL -->\n    <link rel=\"canonical\" href=\"https:\/\/twobirdsonestoned.co\/who\/\">\n    \n    <!-- Favicon and Icons -->\n    <link rel=\"icon\" type=\"image\/x-icon\" href=\"\/favicon.ico\">\n    \n    <!-- Fonts -->\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n    \n    <style>\n        \/* Reset and base styles *\/\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            scroll-behavior: smooth;\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            line-height: 1.6;\n        }\n\n        \/* VIDEO MODAL STYLES *\/\n        .video-modal {\n            display: none;\n            position: fixed;\n            z-index: 10000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            backdrop-filter: blur(5px);\n        }\n\n        .video-modal-content {\n            position: relative;\n            margin: 2% auto;\n            width: 90%;\n            max-width: 800px;\n            height: 80vh;\n            max-height: 600px;\n            background: #1d1d1d;\n            border-radius: 15px;\n            border: 2px solid rgba(156,175,136,0.3);\n            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);\n            overflow: hidden;\n            display: flex;\n            flex-direction: column;\n        }\n\n        .video-modal-header {\n            padding: 1rem 1.5rem;\n            background: rgba(244, 197, 66, 0.1);\n            border-bottom: 1px solid rgba(156,175,136,0.3);\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n\n        .video-modal-title {\n            color: #F4C542;\n            font-size: 1.2rem;\n            font-weight: 600;\n            margin: 0;\n        }\n\n        .video-modal-close {\n            background: none;\n            border: none;\n            color: #fff;\n            font-size: 2rem;\n            cursor: pointer;\n            padding: 0;\n            width: 40px;\n            height: 40px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            border-radius: 50%;\n            transition: all 0.3s ease;\n        }\n\n        .video-modal-close:hover {\n            background: rgba(255, 255, 255, 0.1);\n            transform: rotate(90deg);\n        }\n\n        .video-container {\n            flex: 1;\n            position: relative;\n            background: #000;\n        }\n\n        .video-container iframe {\n            width: 100%;\n            height: 100%;\n            border: none;\n        }\n\n        \/* Light theme styles for modal *\/\n        .light-theme .video-modal-content {\n            background: #ffffff;\n            border: 2px solid #000000;\n        }\n\n        .light-theme .video-modal-header {\n            background: rgba(184, 134, 11, 0.1);\n            border-bottom: 1px solid #000000;\n        }\n\n        .light-theme .video-modal-title {\n            color: #B8860B;\n        }\n\n        .light-theme .video-modal-close {\n            color: #2A2A2A;\n        }\n\n        .light-theme .video-modal-close:hover {\n            background: rgba(0, 0, 0, 0.1);\n        }\n\n        \/* Video link styling *\/\n        .video-link {\n            color: #4CAF50;\n            text-decoration: underline;\n            cursor: pointer;\n            transition: color 0.3s ease;\n            font-weight: 500;\n        }\n\n        .video-link:hover {\n            color: #45a049;\n        }\n\n        .light-theme .video-link {\n            color: #B8860B;\n        }\n\n        .light-theme .video-link:hover {\n            color: #A0750A;\n        }\n\n        \/* PAGE SECTION *\/\n        .about-page {\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        \/* Container *\/\n        .tbos-container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 2rem;\n            width: 100%;\n        }\n\n        \/* Title Section *\/\n        .title-container {\n            margin-bottom: 6rem;\n            text-align: center;\n            opacity: 0;\n            transform: translateY(-20px);\n            transition: all 0.8s ease;\n        }\n\n        .about-page .tbos-section-title {\n            font-family: 'Montserrat', sans-serif;\n            color: #ffffff;\n            word-break: break-word;\n        }\n\n        .page-subtitle {\n            font-size: clamp(12px, 2.5vw, 18px);\n            line-height: 1.4;\n            margin-bottom: 0;\n            margin-top: clamp(20px, 5vw, 30px);\n            text-align: center;\n            color: #E3E3DC;\n            opacity: 0.9;\n        }\n\n        \/* Content Cards *\/\n        .content-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            margin: 2rem 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        .content-card.animate-in {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        .content-card:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);\n        }\n\n        \/* Content Text *\/\n        .content-text {\n            font-size: 1rem;\n            line-height: 1.6;\n            color: #E3E3DC;\n            margin-bottom: 1.5rem;\n        }\n\n        .content-text:last-child {\n            margin-bottom: 0;\n        }\n\n        \/* Links *\/\n        .content-card a {\n            color: #4CAF50;\n            text-decoration: underline;\n            transition: color 0.3s ease;\n            font-weight: 500;\n        }\n\n        .content-card a:hover {\n            color: #45a049;\n        }\n\n        \/* Theme Toggle *\/\n        .theme-toggle {\n            text-align: center;\n            margin-top: 20px;\n        }\n\n        .theme-toggle button {\n            background: rgba(0,0,0,0.8);\n            border: 2px solid #4CAF50;\n            color: #4CAF50;\n            padding: clamp(8px, 2vw, 12px) clamp(15px, 4vw, 25px);\n            border-radius: 25px;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            font-size: clamp(16px, 3vw, 20px);\n            font-weight: bold;\n            font-family: 'Montserrat', sans-serif;\n        }\n\n        .theme-toggle button:hover {\n            background: rgba(76, 175, 80, 0.1);\n            transform: translateY(-2px);\n        }\n\n        \/* Content Break *\/\n        .content-break {\n            height: 3rem;\n            position: relative;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .content-break::before {\n            content: '';\n            width: 200px;\n            height: 2px;\n            background: linear-gradient(90deg, transparent, #F4C542, transparent);\n            border-radius: 1px;\n        }\n\n        \/* Enhanced Typography *\/\n        .content-text strong {\n            color: #F4C542;\n            font-weight: 600;\n        }\n\n        \/* CTA Button *\/\n        .cta-button {\n            display: inline-block;\n            background: linear-gradient(135deg, #4CAF50, #45a049);\n            color: #ffffff;\n            padding: 1.2rem 3.5rem;\n            border-radius: 50px;\n            text-decoration: none;\n            font-weight: 600;\n            font-size: 1.3rem;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);\n            border: none;\n            cursor: pointer;\n        }\n\n        .cta-button:hover {\n            transform: translateY(-3px) !important;\n            box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4) !important;\n            background: linear-gradient(135deg, #45a049, #3d8b40) !important;\n        }\n\n        \/* CTA Section *\/\n        .cta-section {\n            text-align: center;\n            margin: 4rem auto;\n            max-width: 950px;\n            padding: 2rem;\n        }\n\n        \/* Mobile Responsive *\/\n        @media (max-width: 768px) {\n            .tbos-container {\n                padding: 0 1rem;\n            }\n\n            .content-card {\n                padding: 1.5rem;\n                margin: 2rem auto;\n            }\n\n            .about-page {\n                padding-top: 150px;\n            }\n\n            .cta-button {\n                padding: 1rem 2.5rem;\n                font-size: 1.2rem;\n            }\n        }\n\n        @media (max-width: 480px) {\n            .video-modal-content {\n                margin: 10% auto;\n                width: 98%;\n                height: 60vh;\n                max-height: 400px;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <!-- Audio Elements (Hidden) -->\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    <!-- VIDEO MODAL -->\n    <div id=\"videoModal\" class=\"video-modal\">\n        <div class=\"video-modal-content\">\n            <div class=\"video-modal-header\">\n                <h3 id=\"videoModalTitle\" class=\"video-modal-title\">\u6b63\u5728\u52a0\u8f7d...<\/h3>\n                <button class=\"video-modal-close\" onclick=\"closeVideoModal()\">\u00d7<\/button>\n            <\/div>\n            <div class=\"video-container\">\n                <iframe id=\"videoIframe\" src=\"\" allowfullscreen><\/iframe>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <section class=\"about-page\">\n        <div class=\"tbos-container\">\n            <!-- Title Section -->\n            <div class=\"title-container\">\n                <h1 class=\"tbos-section-title translation-block\" 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;\"><span>\u8c01\u5728<\/span> <span>\u5199<\/span> <span>\u8fd9\u4e9b?<\/span><\/h1>\n                <p class=\"page-subtitle\">\u5403\u4f60\u7684\u852c\u83dc<\/p>\n                \n                <!-- Theme Toggle -->\n                <div class=\"theme-toggle\">\n                    <button onclick=\"toggleThemeAndText()\" id=\"theme-toggle\">\ud83c\udf19<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Content Break -->\n            <div class=\"content-break\"><\/div>\n\n            <!-- Intro Section -->\n            <div class=\"content-card\">\n                <p class=\"content-text\"><span class=\"video-link\" onclick=\"openVideoModal('JBNHQzSl3GM', 'Ah me neck')\">Ah me neckkkkk<\/span>.<\/p>\n                <p class=\"content-text\">\u6240\u4ee5\u6211\u73b0\u5728\u5728\u8fd9\u91cc\uff0c\u66fc\u8c37\uff0c2025\u5e7410\u670820\u65e5\u665a\u4e0a8\u70b925\u5206\uff0c\u5728Google Docs\u4e0a\u6253\u5b57\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\u662f\u4e2a\u5b8c\u6574\u7684\u5faa\u73af\u3002\u5f53\u6211\u51b3\u5b9a\u5f00\u59cb\u6559\u4eba\u4eec\u5173\u4e8e\u5927\u9ebb\u7684\u4e8b\uff0cGoogle Docs\u5c31\u662f\u4e00\u5207\u5f00\u59cb\u7684\u5730\u65b9\u3002\u82b1\u4e86\u90a3\u4e48\u591a\u529f\u592b\u8ba9\u7f51\u7ad9\u770b\u8d77\u6765\u50cf\u6211\u60f3\u8981\u7684\u6837\u5b50\uff0c\u529f\u80fd\u9f50\u5168\uff0c\u89c6\u9891\u7b26\u5408\u4f60\u7684\u8981\u6c42\uff0c\u7f16\u8f91\u4e66\u9762\u5185\u5bb9\u7b49\u7b49\u3002\u8001\u5b9e\u8bf4\u6211\u4ed6\u5988\u80fd\u5520\u53e8\u4e2a\u6ca1\u5b8c\u4f46\u6211\u4e0d\u4f1a\u3002<\/p>\n                <p class=\"content-text\">\u4ece\u6628\u5929\u5f00\u59cb\uff0c\u4e0b\u9762\u5199\u7684\u662f\u4e3a\"\u5173\u4e8e\"\u9875\u9762\u51c6\u5907\u7684\u3002\u6211\u53ea\u662f\u89c9\u5f97\u4e0d\u592a\u5408\u9002\uff0c\u66f4\u79c1\u4eba\u4e00\u4e9b\uff0c\u66f4\u591a\u662f\u5173\u4e8e\u6253\u5b57\u7684\u8fd9\u4e2a\u5bb6\u4f19 :L \u8fd8\u8bb0\u5f97\u53d1\u5e26\u8fd9\u4e9b\u8868\u60c5\u7684\u77ed\u4fe1\u5417\u54c8\u54c8\u54c8 :L :L :O<\/p>\n                <p class=\"content-text\">Anyway yea I didnt think it fit there so I've given it's own page. Easy to do when you figure out how to build the website. Shoutout Claude and its early coding capabilities. Everything feels like it's moving 100mph these days. It's really just a quick snapshot of what I've been doing for the last while. Not going to add or change things because I can't be arsed and been at this long enough. So yea, a bit about the person who built the first version of this website and what I've been at.<\/p>\n            <\/div>\n\n            <!-- The Journey Content -->\n            <div class=\"content-card\">\n                <p class=\"content-text\">\u975e\u5e38\u5feb\u901f\u7684\u6982\u8ff0\uff1a\u6211\u5728\u7231\u5c14\u5170\u957f\u5927\uff0c\u56de\u60f3\u8d77\u6765\u975e\u5e38\u5e78\u8fd0\u3002\u7ecf\u6d4e\u4e0a\u7684\u8212\u9002\u3001\u826f\u597d\u7684\u6559\u80b2\u548c\u7a33\u5b9a\u7684\u5bb6\u5ead\u3002\u6210\u957f\u8fc7\u7a0b\u4e2d\u6ca1\u6709\u4ec0\u4e48\u6bd4\u8fd9\u66f4\u9700\u8981\u7684\u4e86\uff0c\u5c3d\u7ba1\u968f\u7740\u5e74\u9f84\u589e\u957f\u8fd9\u4e00\u70b9\u624d\u53d8\u5f97\u66f4\u52a0\u6e05\u695a\u3002<\/p>\n                \n                <p class=\"content-text translation-block\">\u6210\u957f\u8fc7\u7a0b\u4e2d\u6211\u53c2\u52a0\u4e86\u5f88\u591a\u8fd0\u52a8\uff0c\u4e3b\u8981\u662f<span class=\"video-link\">\u7231\u5c14\u5170\u5f0f\u66f2\u68cd\u7403<\/span>\u548c<span class=\"video-link\">\u76d6\u5c14\u5f0f\u8db3\u7403<\/span>\uff0c\u548c\u670b\u53cb\u4eec\u4e00\u8d77\u73a9\uff0c\u5feb\u901f\u72d9\u51fb\u4e00\u4e9b\u83dc\u9e1f\uff0c\u5728\u6559\u80b2\u7cfb\u7edf\u4e2d\u6478\u722c\u6eda\u6253\uff0c\u5927\u591a\u6570\u5468\u672b\u90fd\u53bb\u559d\u9152\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u6211\u53ef\u80fd\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\u4e5f\u7a81\u7834\u4e86\u4e00\u4e9b\u754c\u9650\u3002\u6ca1\u4ec0\u4e48\u592a\u75af\u72c2\u7684\uff0c\u53ea\u662f\u6210\u957f\u8fc7\u7a0b\u4e2d\u5e38\u89c1\u7684\u7f8e\u597d\u65f6\u5149\u548c\u6559\u8bad\u7684\u6df7\u5408\u3002\u6240\u6709\u8fd9\u4e9b\u53ef\u80fd\u5851\u9020\u4e86\u6211\u4eca\u5929\u7684\u601d\u8003\u65b9\u5f0f\u3002<\/p>\n                \n                <p class=\"content-text\">\u4ece\u5229\u9ed8\u91cc\u514b\u5927\u5b66\u6bd5\u4e1a\u540e\uff0c\u6211\u5728\u90fd\u67cf\u6797\u7684\u79d1\u6280\u5708\u5ea6\u8fc7\u4e86\u804c\u4e1a\u751f\u6daf\u7684\u65e9\u671f\u3002\u591a\u4e8f\u4e86\u7231\u5c14\u5170\u653f\u5e9c\u7684\u7a0e\u6536\u4f18\u60e0\uff0c\u8fd9\u5ea7\u57ce\u5e02\u6210\u4e3a\u4e86\u50cf\u8c37\u6b4c\u8fd9\u6837\u7684\u516c\u53f8\u4ee5\u53ca\u50cf\u6211\u8fd9\u6837\u8ffd\u9010\u673a\u4f1a\u7684\u4eba\u7684\u78c1\u94c1\u3002\u90a3\u91cc\u7684\u4e00\u4efd\u77ed\u671f\u9500\u552e\u5408\u540c\u53d8\u6210\u4e86\u51e0\u5e74\u51b3\u5b9a\u6027\u7684\u5c81\u6708\u3002\u6211\u83b7\u5f97\u4e86\u65e0\u6cd5\u8ba1\u5212\u7684\u7ecf\u5386\uff0c\u5f53\u65f6\uff0c\u751f\u6d3b\u611f\u89c9\u8d70\u5728\u6b63\u8f68\u4e0a\u3002<\/p>\n                \n                <p class=\"content-text\">\u7136\u540e\u751f\u6d3b\u505a\u4e86\u751f\u6d3b\u4f1a\u505a\u7684\u4e8b\u3002\u7ecf\u8fc7\u4e00\u6bb5\u6df7\u4e71\u3001\u53cd\u601d\u548c\u7406\u6e05\u601d\u8def\u7684\u65f6\u671f\u540e\uff0c\u6211\u5bf9\u751f\u6d3b\u4e2d\u6240\u505a\u7684\u4e00\u5207\u90fd\u5931\u53bb\u4e86\u70ed\u7231\u3002\u6b8b\u9177\u7684\u95ee\u9898\u662f\uff1a\u6211\u662f\u5426\u8981\u56f4\u7ed5\u7740\u9500\u552e\u5bf9\u6211\u6765\u8bf4\u51e0\u4e4e\u6beb\u65e0\u610f\u4e49\u7684\u4e1c\u897f\u6765\u5efa\u7acb\u6574\u4e2a\u804c\u4e1a\u751f\u6daf\uff0c\u4ec5\u4ec5\u56e0\u4e3a\u8fd9\u610f\u5473\u7740\u7ecf\u6d4e\u4fdd\u969c\uff1f\u90a3\u4e2a\u5173\u4e8e\u672a\u6765\u7684\u613f\u666f\u8ba9\u6211\u5bb3\u6015\uff0c\u6240\u4ee5\u7b54\u6848\u662f\u4e0d\u3002<\/p>\n                \n                <p class=\"content-text\">\u6211\u60f3\u63a2\u7d22\u6211\u7684\u5174\u8da3\u3002\u4f46\u6211\u7684\u5174\u8da3\u5230\u5e95\u662f\u4ec0\u4e48\uff1f<\/p>\n                \n                <p class=\"content-text translation-block\">\u597d\u5427\uff0c\u5728\u90fd\u67cf\u6797\u7684\u4e00\u4e2a\u665a\u4e0a\u6563\u6b65\u65f6\uff0c\u62bd\u7740\u4e00\u6839\u8001\u65e7\u7684\u5927\u9ebb\u70df\uff0c<strong style=\"font-weight: 600 !important\">\u4e00\u4e2a\u65f6\u673a\u6070\u5230\u597d\u5904\u7684<\/strong> <a href=\"https:\/\/open.spotify.com\/episode\/6ef7aaNiEm70KG8eWbnZVR?si=55800e7498804f1a\" target=\"_blank\">David McWilliams \u64ad\u5ba2<\/a>\u51fa\u73b0\u5728\u6211\u9762\u524d\u3002\u90a3\u4e2a\u7279\u522b\u7684\u64ad\u5ba2\u5728\u6211\u5185\u5fc3\u70b9\u71c3\u4e86\u67d0\u79cd\u4e1c\u897f\uff0c\u4e00\u4e2a\u53ef\u4ee5\u5f00\u59cb\u63a2\u7d22\u7684\u65b9\u5411\u3002\u5927\u9ebb\u3002\u6240\u4ee5\u5bf9\u4f60 David\uff0cgo raibh m\u00edle maith agat se\u00f1or\u3002<\/p>\n                \n                <p class=\"content-text translation-block\">\u542c\u5b8c\u90a3\u4e2a\u64ad\u5ba2\u540e\u4e0d\u4e45\uff0c\u6211\u8f9e\u53bb\u4e86\u5728\u8c37\u6b4c\u7684\u5de5\u4f5c\uff0c\u82b1\u4e86\u51e0\u4e2a\u6708\u5728\u5357\u7f8e\u6d32\u548c\u4e2d\u7f8e\u6d32\u65c5\u884c\u3002\u6211\u4f53\u9a8c\u4e86\u50cf\u54e5\u4f26\u6bd4\u4e9a\u3001\u5c3c\u52a0\u62c9\u74dc\u3001\u4f2f\u5229\u5179\u3001\u79d8\u9c81\u548c\u58a8\u897f\u54e5\u8fd9\u6837\u7684\u5730\u65b9\uff0c\u8001\u5b9e\u8bf4\u8fd9\u662f\u4e16\u754c\u4e0a\u5982\u6b64\u6709\u8da3\u7684\u4e00\u90e8\u5206\u3002<a href=\"https:\/\/one-mans-thoughts.notion.site\/Quitting-my-job-Travelling-South-Central-America-Moving-to-Australia-3bdc5b5cce5d42adb028bcf5db3dad21\" target=\"_blank\">\u6211\u4e4b\u524d\u5199\u8fc7\u4e00\u7bc7\u5173\u4e8e\u53bb\u90a3\u91cc\u7684\u6587\u7ae0<\/a>\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u3002\u4e0e\u4e00\u4e9b\u597d\u670b\u53cb\u548c\u6cbf\u9014\u9047\u5230\u7684\u964c\u751f\u4eba\u4e00\u8d77\u521b\u9020\u7684\u56de\u5fc6\u3002<\/p>\n                \n                <p class=\"content-text\">\u7136\u540e\u6fb3\u5927\u5229\u4e9a\u53ec\u5524\u4e86\uff08\u5c31\u50cf\u5b83\u5bf9\u534a\u4e2a\u7231\u5c14\u5170\u505a\u7684\u90a3\u6837\uff09\u3002\u6211\u6700\u7ec8\u5728\u5efa\u7b51\u5de5\u5730\u5de5\u4f5c\uff0c\u4e00\u624b\u62ff\u94fe\u952f\uff0c\u53e6\u4e00\u624b\u62ff\u98ce\u94bb\uff08\u4f60\u662fABN\u8fd8\u662fTFN\u8001\u5144\uff09\u3002\u4f46\u6fb3\u5927\u5229\u4e9a\u7684\u53e6\u4e00\u90e8\u5206\u5728\u53ec\u5524\uff0c\u6240\u4ee5\u6211\u4e70\u4e86\u4e00\u8f864x4\uff0c\u5728\u540e\u9762\u642d\u4e86\u5f20\u5e8a\uff0c\u7136\u540e\u524d\u5f80\u4e61\u6751\u3002\u90a3\u4e5f\u662f\u4e00\u6b21\u7ecf\u5386\uff0c\u81f3\u5c11\u53ef\u4ee5\u8fd9\u4e48\u8bf4..\u56db\u4e2a\u6708\u540e\u6211\u5728\u5185\u9646\u5730\u533a\u629b\u951a\u4e86\uff0c\u4e0d\u5f97\u4e0d\u7070\u6e9c\u6e9c\u5730\u9000\u56de\u6089\u5c3c\u3002\u90a3\u6b21\u8c26\u5351\u7684\u7ecf\u5386\u548c\u632b\u6298\u5b9e\u9645\u4e0a\u6253\u5f00\u4e86\u901a\u5f80\u6fb3\u5927\u5229\u4e9a\u533b\u7528\u5927\u9ebb\u884c\u4e1a\u7684\u5927\u95e8\u3002\u6211\u5728\u8fd9\u91cc\u5ea6\u8fc7\u4e86\u4e24\u5e74\uff0c\u50cf\u6d77\u7ef5\u4e00\u6837\u5c3d\u53ef\u80fd\u591a\u5730\u5b66\u4e60\u3002<\/p>\n                \n                <p class=\"content-text\">\u8fc7\u53bb\u516b\u4e2a\u6708\u6211\u4e00\u76f4\u5728\u4e9a\u6d32\u65c5\u884c\uff0c\u624b\u91cc\u62ff\u7740\u7b14\u8bb0\u672c\u7535\u8111\uff0c\u8fdc\u7a0b\u5de5\u4f5c\uff0c\u76f4\u5230\u6700\u8fd1\u6211\u8f6c\u5411\u72ec\u7acb\u54a8\u8be2\u3002\u6211\u5f88\u5e78\u8fd0\u80fd\u5728\u4e2d\u56fd\u3001\u6cf0\u56fd\u548c\u8d8a\u5357\u7b49\u5730\u751f\u6d3b\u3002\u4e00\u8def\u4e0a\uff0c\u6211\u5728\u9999\u6e2f\u548c\u8d8a\u5357\u6253\u8fc7\u677f\u68cd\u7403\uff0c\u5728\u53f0\u6e7e\u548c\u5409\u9686\u5761\u8e22\u8fc7\u76d6\u5c14\u8db3\u7403\uff0c\u5305\u62ec\u53d7\u4f24\uff08\u80a9\u8180\u548c\u808b\u9aa8\uff0c\u611f\u8c22Asia GAA\uff09\u3002\u8001\u5b9e\u8bf4\u8fd9\u4e00\u5207\u90fd\u6709\u70b9\u75af\u72c2\uff0c\u610f\u8bc6\u5230\u5916\u9762\u6709\u4ec0\u4e48\u3002\u6211\u4f1a\u56de\u5230\u8fd9\u4e2a\u8bdd\u9898\uff0c\u4f46\u8bf4\u5b9e\u8bdd\uff0c\u53bb\u4e9a\u6d32\u4f4f\u4e00\u6bb5\u65f6\u95f4\u5427\u3002\u4f60\u7684\u793e\u533a\u5df2\u7ecf\u5728\u8fd9\u91cc\u7b49\u7740\u4e86\u3002<\/p>\n                \n                <p class=\"content-text\">\u4f46\u662f\u6ca1\u9519\uff0c\u6240\u6709\u8fd9\u4e9b\u90fd\u8fde\u63a5\u5230\u4e86\u6211\u73b0\u5728\u6240\u5728\u7684\u4f4d\u7f6e\u3002<\/p>\n                \n                <p class=\"content-text\">\u5728\u5927\u9ebb\u9886\u57df\u5de5\u4f5c\u8ba9\u6211\u5927\u5f00\u773c\u754c\u3002\u6211\u770b\u5230\u6709\u591a\u5c11\u4eba\u4f7f\u7528\u5927\u9ebb\u4e0d\u662f\u4e3a\u4e86\u9003\u907f\uff0c\u800c\u662f\u4e3a\u4e86\u7ba1\u7406\u75bc\u75db\u3001\u538b\u529b\u548c\u75be\u75c5\uff0c\u4ee5\u53ca\u5176\u4ed6\u4eba\u5982\u4f55\u7528\u5b83\u6765\u653e\u6162\u8282\u594f\u3001\u6d3b\u5728\u5f53\u4e0b\uff0c\u5e76\u771f\u6b63\u591a\u4eab\u53d7\u4e00\u70b9\u751f\u6d3b\u3002\u6211\u4e5f\u770b\u5230\u4e86\u66f4\u5e7f\u9614\u7684\u4e16\u754c\u5bf9\u6b64\u4e86\u89e3\u5f97\u591a\u4e48\u5c11\u3002\u5bf9\u8bdd\u8981\u4e48\u592a\u4e34\u5e8a\uff0c\u8981\u4e48\u592a\u5b09\u76ae\u3002\u6ca1\u6709\u4e2d\u95f4\u5730\u5e26\uff0c\u6ca1\u6709\u8fdb\u884c\u8bda\u5b9e\u3001\u5e73\u8861\u8ba8\u8bba\u7684\u7a7a\u95f4\u3002<\/p>\n                \n                <p class=\"content-text\">\u8fd9\u5c31\u662f\u8fd9\u4e2a\u7f51\u7ad9\u7684\u76ee\u7684\u3002\u8fd9\u4e0d\u662f\u8981\u544a\u8bc9\u4f60\u5927\u9ebb\u5b8c\u7f8e\u65e0\u7455\u6216\u5b83\u662f\u67d0\u79cd\u795e\u5947\u7684\u6cbb\u7597\u65b9\u6cd5\u3002\u6211\u5728\u8fd9\u91cc\u662f\u4e3a\u4e86\u7ed9\u4eba\u4eec\u4e00\u4e2a\u5b66\u4e60\u3001\u601d\u8003\u3001\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4e5f\u8bb8\u80fd\u8ba9\u4ed6\u4eec\u4ee5\u7a0d\u5fae\u4e0d\u540c\u7684\u65b9\u5f0f\u770b\u5f85\u4e8b\u7269\u3002<\/p>\n            <\/div>\n\n            <!-- Go Exploring CTA -->\n            <div class=\"cta-section\">\n                <a href=\"https:\/\/twobirdsonestoned.co\/zh\" class=\"cta-button\">\n                    \ud83c\udf3f \u53bb\u63a2\u7d22\n                <\/a>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <script>\n        \/\/ Track theme state\n        let isDarkTheme = true;\n\n        \/\/ VIDEO MODAL FUNCTIONS\n        function openVideoModal(videoId, title) {\n            const modal = document.getElementById('videoModal');\n            const iframe = document.getElementById('videoIframe');\n            const modalTitle = document.getElementById('videoModalTitle');\n            \n            modalTitle.textContent = title;\n            iframe.src = `https:\/\/www.youtube.com\/embed\/${videoId}?autoplay=1&rel=0&modestbranding=1`;\n            modal.style.display = 'block';\n            document.body.style.overflow = 'hidden';\n        }\n\n        function closeVideoModal() {\n            const modal = document.getElementById('videoModal');\n            const iframe = document.getElementById('videoIframe');\n            \n            iframe.src = '';\n            modal.style.display = 'none';\n            document.body.style.overflow = '';\n        }\n\n        window.onclick = function(event) {\n            const modal = document.getElementById('videoModal');\n            if (event.target === modal) {\n                closeVideoModal();\n            }\n        }\n\n        document.addEventListener('keydown', function(event) {\n            if (event.key === 'Escape') {\n                closeVideoModal();\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('.content-card');\n            const title = document.querySelector('.tbos-section-title');\n            const subtitle = document.querySelector('.page-subtitle');\n            const toggleButton = document.getElementById('theme-toggle');\n            \n            \/\/ These elements don't exist on this page but keeping for consistency\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            if (!isDarkTheme) {\n                \/\/ LIGHT THEME\n                console.log('Applying LIGHT theme');\n                \n                body.classList.add('light-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                contentCards.forEach(card => {\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 texts = card.querySelectorAll('p, .content-text');\n                    texts.forEach(text => {\n                        text.style.setProperty('color', '#1a1a1a', 'important');\n                        text.style.setProperty('font-weight', '500', 'important');\n                    });\n                    \n                    const strongTexts = card.querySelectorAll('strong');\n                    strongTexts.forEach(strong => {\n                        strong.style.setProperty('color', '#000000', 'important');\n                        strong.style.setProperty('font-weight', '600', 'important');\n                    });\n                    \n                    const links = card.querySelectorAll('a');\n                    links.forEach(link => {\n                        link.style.setProperty('color', '#B8860B', 'important');\n                    });\n                    \n                    const videoLinks = card.querySelectorAll('.video-link');\n                    videoLinks.forEach(link => {\n                        link.style.setProperty('color', '#B8860B', 'important');\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 (subtitle) {\n                    subtitle.style.setProperty('color', '#000000', 'important');\n                    subtitle.style.setProperty('opacity', '1', 'important');\n                }\n\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\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                \/\/ DARK THEME\n                console.log('Applying DARK theme');\n                \n                body.classList.remove('light-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                contentCards.forEach(card => {\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', '#fff', 'important');\n                    \n                    const texts = card.querySelectorAll('p, .content-text');\n                    texts.forEach(text => {\n                        text.style.setProperty('color', '#E3E3DC', 'important');\n                        text.style.setProperty('font-weight', '400', 'important');\n                    });\n                    \n                    const strongTexts = card.querySelectorAll('strong');\n                    strongTexts.forEach(strong => {\n                        strong.style.setProperty('color', '#F4C542', 'important');\n                        strong.style.setProperty('font-weight', '600', 'important');\n                    });\n                    \n                    const links = card.querySelectorAll('a');\n                    links.forEach(link => {\n                        link.style.setProperty('color', '#4CAF50', 'important');\n                    });\n\n                    const videoLinks = card.querySelectorAll('.video-link');\n                    videoLinks.forEach(link => {\n                        link.style.setProperty('color', '#4CAF50', 'important');\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 (subtitle) {\n                    subtitle.style.setProperty('color', '#E3E3DC', 'important');\n                    subtitle.style.setProperty('opacity', '0.9', 'important');\n                }\n\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                });\n                \n                console.log('Applied dark theme CTA styling');\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\n        \/\/ Initialize page\n        document.addEventListener('DOMContentLoaded', function() {\n            initializeAnimations();\n            toggleTheme();\n            \n            setTimeout(() => {\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                });\n            }, 100);\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            const observer = new IntersectionObserver((entries) => {\n                entries.forEach((entry, index) => {\n                    if (entry.isIntersecting) {\n                        setTimeout(() => {\n                            entry.target.classList.add('animate-in');\n                        }, index * 50);\n                        observer.unobserve(entry.target);\n                    }\n                });\n            }, {\n                threshold: 0.05,\n                rootMargin: '0px 0px -20px 0px'\n            });\n\n            const cards = document.querySelectorAll('.content-card');\n            cards.forEach(card => {\n                observer.observe(card);\n            });\n        }\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Who&#8217;s Typing Da Words &#8211; Two Birds One Stoned | Meet James Loading&#8230; &times; WHO&#8217;S TYPING DA WORDS? Eat your vegtables \ud83c\udf19 Ah me neckkkkk. So here I am, Bangkok, 8:25pm on the 20th of October 2025, typing away in Google Docs. Bit of a full circle moment really. When I first decided to start [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7726","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/7726","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=7726"}],"version-history":[{"count":42,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/7726\/revisions"}],"predecessor-version":[{"id":7779,"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/pages\/7726\/revisions\/7779"}],"wp:attachment":[{"href":"https:\/\/twobirdsonestoned.co\/zh\/wp-json\/wp\/v2\/media?parent=7726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}