PageSourceSearch

https://dse-chi-cards.netlify.app/

html dse-chi-cards.netlify.app collected 2026-10-03 10:40:04 UTC 286,668 bytes, 4,225 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-Hant">
3<head>
4    <meta charset="UTF-8">
5<!-- This site is hosted on Netlify. Anyone can build and deploy a site
6     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=5d13da76-4fc9-4f74-bf86-767ac7b73e06
7     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
8    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
9    <title>DSE中文12篇範文 —— 字卡游戲</title>
10    <!-- Include EmailJS for certificate emails -->
11    
11<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js"></script>
11
12    <!-- Include html2canvas for certificate generation -->
13    
13<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
13
14    <style>
15* {
16    -webkit-tap-highlight-color: transparent;
17    box-sizing: border-box;
18}
19
20    body {
21        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
22        max-width: 100%;
23        margin: 0 auto;
24        padding: 16px;
25        text-align: center;
26        background-color: #f8f9fa;
27        color: #333;
28        -webkit-text-size-adjust: 100%;
29        overscroll-behavior: none;
30    }
31
32    /* Apply Kai font to Chinese characters */
33    .character, .stroke-char, .quiz-character-text, .game-card, .character-example {
34        font-family: 'Kaiti', 'STKaiti', '楷体', 'KaiTi', 'SimKai', 'DFKai-SB', serif;
35    }
36
37    h1 {
38        color: #2c3e50;
39        margin-bottom: 10px;
40        font-size: 28px;
41    }
42
43    h2 {
44        color: #0096c7;
45        margin-top: 10px;
46        font-size: 22px;
47    }
48
49    .container {
50        background-color: white;
51        border-radius: 16px;
52        padding: 16px;
53        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
54        margin-top: 16px;
55        max-width: 800px;
56        margin-left: auto;
57        margin-right: auto;
58        position: relative;
59    }
60
61    .character-display {
62        display: flex;
63        flex-direction: column;
64        justify-content: center;
65        align-items: center;
66        min-height: 280px;
67        margin: 16px 0;
68        background-color: #ffebee;
69        border-radius: 16px;
70        padding: 20px;
71        position: relative;
72        touch-action: manipulation;
73        border: 1px solid #ffcdd2;
74    }
75
76    .character {
77        font-size: 70px;  /* Reduced from 90px */
78        margin-bottom: 15px;
79        font-weight: bold;
80    }
81
82    .character-emoji {
83        font-size: 30px;  /* Reduced from 40px */
84        margin-bottom: 10px;
85    }
86
87    .character-info {
88        display: flex;
89        flex-direction: column;
90        align-items: center;
91        gap: 10px;
92        margin-bottom: 20px;
93    }
94
95    .character-pinyin, .character-jyutping {
96        font-size: 20px;
97        font-weight: bold;
98    }
99
100    .character-pinyin {
101        color: #e91e63;
102    }
103
104    .character-jyutping {
105        color: #9c27b0;
106    }
107
108    .character-meaning {
109        font-size: 22px;
110        color: #673ab7;
111    }
112
113    .character-example {
114        font-size: 20px;
115        color: #2196f3;
116        margin-top: 5px;
117    }
118        
119    .audio-controls {
120        display: flex;
121        justify-content: center;
122        margin: 10px 0;
123    }
124        
125    .controls {
126        display: flex;
127        justify-content: center;
128        gap: 12px;
129        margin: 16px 0;
130        flex-wrap: wrap;
131    }
132        
133    button {
134        background-color: #ff5722;
135        color: white;
136        border: none;
137        padding: 12px 18px;
138        border-radius: 12px;
139        cursor: pointer;
140        font-size: 16px;
141        transition: background-color 0.2s, transform 0.1s;
142        -webkit-appearance: none;
143        -moz-appearance: none;
144        appearance: none;
145        touch-action: manipulation;
146        user-select: none;
147        -webkit-user-select: none;
148        min-height: 44px;
149    }
150        
151    button:active {
152        transform: scale(0.98);
153        background-color: #e64a19;
154    }
155        
156    button.active {
157        background-color: #e64a19;
158        font-weight: bold;
159    }
160        
161    .categories {
162        display: flex;
163        justify-content: center;
164        gap: 8px;
165        margin-bottom: 16px;
166        flex-wrap: wrap;
167        padding: 0 5px;
168    }
169        
170    .category-btn {
171        background-color: #ffccbc;
172        min-width: 50px;
173        font-size: 15px;
174        color: #bf360c;
175    }
176        
177    .category-btn.active {
178        background-color: #ff5722;
179        color: white;
180    }
181        
182    .audio-btn {
183        background-color: #ff9e80;
184        border-radius: 50%;
185        width: 44px;
186        height: 44px;
187        display: flex;
188        justify-content: center;
189        align-items: center;
190        padding: 0;
191        margin: 0 5px;
192    }
193        
194    .audio-icon {
195        font-size: 20px;
196    }
197        
198    .audio-label {
199        font-size: 12px;
200        margin-top: 5px;
201        color: #bf360c;
202    }
203        
204    .quiz-section {
205        margin-top: 24px;
206        background-color: #ffebee;
207        padding: 16px;
208        border-radius: 16px;
209    }
210        
211    .quiz-options {
212        display: flex;
213        flex-wrap: wrap;
214        justify-content: center;
215        gap: 12px;
216        margin-top: 16px;
217    }
218        
219    .quiz-option-btn {
220        min-width: 140px;
221        padding: 14px 18px;
222        font-size: 16px;
223        background-color: #ff9e80;
224        color: #bf360c;
225    }
226        
227    .quiz-result {
228        margin-top: 16px;
229        font-weight: bold;
230        min-height: 24px;
231        padding: 8px;
232    }
233        
234    .correct {
235        color: #2b9348;
236    }
237        
238    .incorrect {
239        color: #d00000;
240    }
241        
242    .progress-bar-container {
243        width: 100%;
244        background-color: #ffccbc;
245        border-radius: 20px;
246        margin: 20px 0;
247        overflow: hidden;
248        height: 16px;
249    }
250        
251    .progress-bar {
252        height: 16px;
253        background-color: #ff5722;
254        border-radius: 20px;
255        width: 0%;
256        transition: width 0.5s;
257    }
258        
259    .progress-text {
260        font-size: 14px;
261        color: #ff5722;
262        margin-top: 5px;
263    }
264        
265    #test-container {
266        display: none;
267    }
268        
269    .test-score {
270        margin: 20px 0;
271        font-size: 18px;
272        font-weight: bold;
273    }
274        
275    .test-progress {
276        display: flex;
277        align-items: center;
278        justify-content: center;
279        margin: 10px 0;
280        font-size: 16px;
281    }
282        
283    .quiz-character {
284        display: flex;
285        flex-direction: column;
286        align-items: center;
287        justify-content: center;
288        margin-bottom: 20px;
289    }
290        
291    .quiz-character-text {
292        font-size: 80px;  /* Reduced from 100px */
293        font-weight: bold;
294    }
295        
296    .quiz-english {
297        font-size: 28px;
298        color: #673ab7;
299        margin-top: 10px;
300        font-weight: bold;
301    }
302        
303    .score-good {
304        color: #2b9348;
305    }
306        
307    .score-avg {
308        color: #f48c06;
309    }
310        
311    .score-poor {
312        color: #d00000;
313    }
314        
315    .touch-feedback {
316        position: relative;
317        overflow: hidden;
318    }
319        
320    .touch-feedback::after {
321        content: '';
322        display: block;
323        position: absolute;
324        width: 100%;
325        height: 100%;
326        top: 0;
327        left: 0;
328        pointer-events: none;
329        background-image: radial-gradient(circle, rgba(255,255,255,0.4) 10%, transparent 10.01%);
330        background-repeat: no-repeat;
331        background-position: 50%;
332        transform: scale(10, 10);
333        opacity: 0;
334        transition: transform 0.5s, opacity 0.8s;
335    }
336        
337    .touch-feedback:active::after {
338        transform: scale(0, 0);
339        opacity: 0.3;
340        transition: 0s;
341    }
342        
343    .stroke-order {
344        display: flex;
345        justify-content: center;
346        align-items: center;
347        gap: 15px;
348        flex-wrap: wrap;
349        margin: 15px 0;
350    }
351        
352    .stroke-step {
353        display: flex;
354        flex-direction: column;
355        align-items: center;
356        padding: 10px;
357        background-color: white;
358        border-radius: 12px;
359        width: 30px;  /* Reduced from 70px */
360        height: 40px;  /* Reduced from 80px */
361        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
362        margin: 5px;
363        border: 1px solid #ffccbc;
364    }
365        
366    .stroke-number {
367        font-size: 12px;  /* Reduced from 14px */
368        color: #ff5722;
369        margin-bottom: 5px;
370    }
371        
372    .stroke-char {
373        font-size: 20px;  /* Reduced from 36px */
374        font-weight: bold;
375    }
376        
377    /* Game section styles */
378    .game-container {
379        background-color: #fff3e0;
380        border-radius: 16px;
381        padding: 15px;
382        margin-top: 20px;
383        border: 1px solid #ffe0b2;
384    }
385        
386    .game-title {
387        color: #e65100;
388        font-size: 20px;
389        margin-bottom: 10px;
390    }
391        
392    .game-board {
393        display: grid;
394        grid-template-columns: repeat(2, 1fr);
395        gap: 10px;
396        margin: 15px 0;
397    }
398        
399    .game-card {
400        background-color: white;
401        border-radius: 10px;
402        height: 100px;
403        display: flex;
404        justify-content: center;
405        align-items: center;
406        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
407        border: 2px solid #ffcc80;
408        font-weight: bold;
409        cursor: pointer;
410        transition: all 0.3s ease;
411        padding: 5px;
412        overflow: hidden;
413        text-align: center;
414        
415        /* Text scaling properties */
416        display: flex;
417        align-items: center;
418        justify-content: center;
419        
420        /* Text fitting properties */
421        font-size: clamp(16px, 5vw, 16px); /* Responsive base font size */
422        line-height: 1;
423        
424        /* For single characters or emoji (default larger) */
425        position: relative;
426    }
427        
428    .game-card.flipped {
429        background-color: #ffe0b2;
430        transform: rotateY(180deg) scaleX(-1);
431    }
432        
433    /* 鏡面游戲 Mirror Game mode styles */
434    .mirror-mode .game-card.flipped {
435        background-color: #ffe0b2;
436        transform: rotateY(180deg);
437    }
438        
439    .game-card.matched {
440        background-color: #c5e1a5;
441        border-color: #8bc34a;
442    }
443        
444    .game-result {
445        font-size: 18px;
446        margin: 15px 0;
447        font-weight: bold;
448    }
449        
450    .writing-area {
451        width: 100%;
452        height: 200px;
453        background-color: white;
454        border-radius: 16px;
455        margin: 15px 0;
456        border: 2px solid #ffccbc;
457        position: relative;
458        touch-action: none;
459    }
460        
461    .writing-canvas {
462        width: 100%;
463        height: 100%;
464        border-radius: 14px;
465        cursor: crosshair;
466    }
467        
468    .clear-btn {
469        position: absolute;
470        bottom: 10px;
471        right: 10px;
472        background-color: #ff9e80;
473        width: 40px;
474        height: 40px;
475        border-radius: 50%;
476        display: flex;
477        justify-content: center;
478        align-items: center;
479        z-index: 10;
480    }
481        
482    .writing-guide {
483        position: absolute;
484        top: 0;
485        left: 0;
486        width: 100%;
487        height: 100%;
488        z-index: 1;
489        opacity: 0.2;
490        pointer-events: none;
491    }
492        
493    .quiz-pronunciation {
494        display: flex;
495        justify-content: center;
496        margin-top: 15px;
497        display: none; /* Initially hidden */
498    }
499        
500    /* Language toggle switch */
501    .language-toggle {
502        position: absolute;
503        top: 10px;
504        right: 10px;
505        z-index: 100;
506    }
507        
508    .language-toggle button {
509        font-size: 14px;
510        padding: 8px 12px;
511        border-radius: 20px;
512        background-color: #f0f0f0;
513        color: #333;
514        border: 1px solid #ddd;
515    }
516        
517    .language-toggle button.active {
518        background-color: #ff5722;
519        color: white;
520        border-color: #ff5722;
521    }
522        
523    /* Game mode toggle */
524    .game-mode-toggle {
525        display: flex;
526        justify-content: center;
527        gap: 10px;
528        margin-bottom: 15px;
529    }
530        
531    .game-mode-btn {
532        background-color: #ffccbc;
533        font-size: 14px;
534        color: #bf360c;
535        padding: 8px 12px;
536    }
537        
538    .game-mode-btn.active {
539        background-color: #ff5722;
540        color: white;
541    }
542        
543    /* Certificate form styles */
544    .certificate-form {
545        background-color: #ffebee;
546        padding: 20px;
547        border-radius: 16px;
548        margin-top: 20px;
549        display: none;
550        border: 1px solid #ffcdd2;
551    }
552        
553    .certificate-form h3 {
554        margin-top: 0;
555        color: #e91e63;
556        font-size: 24px;
557    }
558        
559    .form-group {
560        margin-bottom: 15px;
561        text-align: left;
562    }
563        
564    .form-group label {
565        display: block;
566        margin-bottom: 5px;
567        font-weight: bold;
568        color: #ff5722;
569        font-size: 16px;
570    }
571        
572    .form-group input {
573        width: 100%;
574        padding: 12px;
575        border: 1px solid #ffccbc;
576        border-radius: 12px;
577        font-size: 16px;
578        background-color: white;
579    }
580        
581    .loading-indicator {
582        display: none;
583        margin-top: 20px;
584    }
585        
586    .spinner {
587        border: 4px solid #ffccbc;
588        border-top: 4px solid #ff5722;
589        border-radius: 50%;
590        width: 40px;
591        height: 40px;
592        animation: spin 1s linear infinite;
593        margin: 0 auto;
594    }
595        
596    @keyframes spin {
597        0% { transform: rotate(0deg); }
598        100% { transform: rotate(360deg); }
599    }
600        
601    /* Certificate styles */
602    .certificate-container {
603        position: fixed;
604        top: 0;
605        left: 0;
606        width: 100%;
607        height: 100%;
608        background: white;
609        display: flex;
610        justify-content: center;
611        align-items: center;
612        z-index: -1;
613    }
614        
615    .certificate {
616        font-family: 'Comic Sans MS', cursive, sans-serif;
617        text-align: center;
618        position: relative;
619        width: 800px;
620        height: 600px;
621        padding: 40px;
622        box-sizing: border-box;
623        background: #fff;
624        margin: 0 auto;
625        border: 15px solid #ffd54f;
626        border-radius: 20px;
627        background-image: linear-gradient(to bottom right, #ffebee, #fff9c4);
628        box-shadow: 0 10px 30px rgba(0,0,0,0.2);
629    }
630        
631    .certificate .logo {
632        font-size: 22px;
633        margin-bottom: 12px;
634        color: #ff5722;
635        font-weight: bold;
636    }
637        
638    .certificate h1 {
639        font-size: 40px;
640        margin-bottom: 20px;
641        color: #ff5722;
642        text-shadow: 2px 2px 0px #ffe0b2;
643    }
644        
645    .certificate .emoji-decoration {
646        font-size: 90px;
647        margin: 15px 0;
648        text-shadow: 4px 4px 0px rgba(0,0,0,0.1);
649    }
650        
651    .certificate .smaller-text {
652        font-size: 18px;
653        color: #ff8a65;
654    }
655        
656    .certificate .recipient {
657        font-size: 36px;
658        margin: 20px 0;
659        font-weight: bold;
660        color: #e91e63;
661        text-shadow: 1px 1px 0px #ffe0b2;
662    }
663        
664    .certificate .reason {
665        font-size: 26px;
666        margin: 20px 0;
667        color: #9c27b0;
668        font-weight: bold;
669    }
670        
671    .certificate .date {
672        font-size: 16px;
673        margin-top: 15px;
674        color: #ff8a65;
675    }
676        
677    .certificate .signatures {
678        display: flex;
679        justify-content: space-around;
680        margin-top: 30px;
681    }
682        
683    .certificate .signature {
684        text-align: center;
685        display: flex;
686        flex-direction: column;
687        align-items: center;
688        color: #5d4037;
689    }
690        
691    .signature-image {
692        width: 120px;
693        height: 70px;
694        margin-bottom: 5px;
695        object-fit: contain;
696    }
697        
698    .signature-line {
699        width: 150px;
700        border-top: 2px dashed #ff5722;
701        margin: 5px auto;
702    }
703        
704    .overlay {
705        position: fixed;
706        top: 0;
707        left: 0;
708        width: 100%;
709        height: 100%;
710        background-color: rgba(0, 0, 0, 0.8);
711        display: none;
712        justify-content: center;
713        align-items: center;
714        z-index: 1000;
715    }
716        
717    .modal {
718        background-color: white;
719        padding: 30px;
720        border-radius: 20px;
721        max-width: 90%;
722        max-height: 90%;
723        overflow-y: auto;
724        position: relative;
725        border: 8px solid #ffd54f;
726    }
727        
728    .close-modal {
729        position: absolute;
730        top: 10px;
731        right: 15px;
732        font-size: 30px;
733        cursor: pointer;
734        color: #ff5722;
735        font-weight: bold;
736    }
737        
738    /* Certificate decorations */
739    .certificate .stars {
740        position: absolute;
741        font-size: 30px;
742    }
743        
744    .certificate .star1 {
745        top: 20px;
746        left: 30px;
747        transform: rotate(-15deg);
748    }
749        
750    .certificate .star2 {
751        top: 30px;
752        right: 40px;
753        transform: rotate(15deg);
754    }
755        
756    .certificate .star3 {
757        bottom: 30px;
758        left: 40px;
759        transform: rotate(10deg);
760    }
761        
762    .certificate .star4 {
763        bottom: 40px;
764        right: 30px;
765        transform: rotate(-10deg);
766    }
767        
768    /* Animation */
769    @keyframes bounce {
770        0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
771        40% {transform: translateY(-20px);}
772        60% {transform: translateY(-10px);}
773    }
774        
775    .bounce {
776        animation: bounce 1s ease;
777    }
778        
779    /* Different screen sizes */
780    @media (max-width: 480px) {
781        body {
782            padding: 10px;
783        }
784            
785        h1 {
786            font-size: 24px;
787        }
788            
789        .character-display {
790            min-height: 260px;
791            padding: 12px;
792        }
793            
794        .character {
795            font-size: 60px;  /* Reduced from 90px */
796        }
797            
798        .character-emoji {
799            font-size: 30px;  /* Reduced from 50px */
800        }
801            
802        .quiz-character-text {
803            font-size: 60px;  /* Reduced from 80px */
804        }
805            
806        .quiz-english {
807            font-size: 24px;
808        }
809            
810        button {
811            padding: 12px 16px;
812        }
813            
814        .game-board {
815            grid-template-columns: repeat(2, 1fr);
816        }
817            
818        .stroke-step {
819            width: 30px;  /* Reduced from 60px */
820            height: 40px;  /* Reduced from 70px */
821        }
822            
823        .stroke-char {
824            font-size: 20px;  /* Reduced from 30px */
825        }
826            
827        .quiz-option-btn {
828            min-width: 130px;
829            font-size: 15px;
830        }
831            
832        .language-toggle button {
833            font-size: 12px;
834            padding: 6px 10px;
835        }
836    }
837        
838    @media (min-width: 768px) {
839        .game-board {
840            grid-template-columns: repeat(3, 1fr);
841        }
842    }
843
844    </style>
845</head>
846<body>
847    <div class="app-title">
848        <h1>中國語文12篇範文</h1>
849        <h3>學習字卡遊戲</h3>
850        <p>輕鬆背誦所有範文</p>
851    </div>
852    
853    <div class="mode-toggle controls">
854        <button id="learn-mode-btn" class="active touch-feedback">學習模式</button>
855        <button id="test-mode-btn" class="touch-feedback">測試模式</button>
856        <button id="game-mode-btn" class="touch-feedback">遊戲模式</button>
857    </div>
858    
859    <div class="language-toggle">
860        <button id="cantonese-btn" class="active touch-feedback">粵語</button>
861        <button id="mandarin-btn" class="touch-feedback">普通話</button>
862    </div>
863    
864    <div id="learn-container" class="container">
865        <div class="categories" id="categories">
866            <!-- Categories will be added here by JavaScript -->
867        </div>
868        
869        <div class="character-display" id="character-display">
870            <div class="character" id="current-character">好</div>
871            <div class="character-emoji" id="character-emoji">👍</div>
872            <div class="character-info">
873                <div class="character-pinyin" id="character-pinyin">hǎo(普通話)</div>
874                <div class="character-jyutping" id="character-jyutping">hou2(粵語)</div>
875                <div class="character-meaning" id="character-meaning">good</div>
876                <div class="character-example" id="character-example">你好 (nǐ hǎo / nei5 hou2) - Hello</div>
877            </div>
878            
879            <div class="audio-controls">
880                <div class="audio-btn-container">
881                    <button class="audio-btn touch-feedback" id="play-audio">
882                        <span class="audio-icon">🔊</span>
883                    </button>
884                    <div class="audio-label" id="audio-label">粵語</div>
885                </div>
886                
887            </div>
888        </div>
889        
890        <div class="controls">
891            <button id="prev-character" class="touch-feedback">上一個</button>
892            <button id="next-character" class="touch-feedback">下一個</button>
893        </div>
894        
895        <div class="progress-bar-container">
896            <div class="progress-bar" id="progress-bar"></div>
897        </div>
898        <div class="progress-text" id="progress-text">0/0 學習了</div>
899        
900        <div class="writing-area">
901            <div class="writing-guide" id="writing-guide"></div>
902            <canvas id="writing-canvas" class="writing-canvas"></canvas>
903            <button class="clear-btn touch-feedback" id="clear-canvas">🗑️</button>
904        </div>
905    </div>
906    
907    <div id="test-container" class="container">
908        <h2>測試你的範文認識</h2>
909        <div class="test-progress" id="test-progress">問題 1 / 10</div>
910        
911        <div class="character-display">
912            <div class="quiz-character">
913                <div class="quiz-character-text" id="quiz-character">æ°´</div>
914                <div class="quiz-english" id="quiz-english">water</div>
915            </div>
916            <p style="font-size: 18px; color: #bf360c;">選擇正確的解釋:</p>
917        </div>
918        
919        <div class="quiz-options" id="quiz-options">
920            <!-- Quiz options will be added here by JavaScript -->
921        </div>
922        
923        <div class="quiz-result" id="quiz-result"></div>
924        
925        <div class="quiz-pronunciation">
926            <div class="audio-btn-container">
927                <button class="audio-btn touch-feedback" id="quiz-play-audio">
928                    <span class="audio-icon">🔊</span>
929                </button>
930                <div class="audio-label" id="quiz-audio-label">粵語</div>
931            </div>
932        </div>
933        
934        <div class="test-score" id="test-score"></div>
935        
936        <div class="controls">
937            <button id="next-question" class="touch-feedback">下一題</button>
938        </div>
939        
940        <div class="certificate-form" id="certificate-form">
941            <h3>恭喜你!你通過了測試!</h3>
942            <p>填寫以下資料獲取你的證書:</p>
943            
944            <div class="form-group">
945                <label for="name">
945姓名:</label>
946                <input type="text" id="name" placeholder="請輸入你的姓名" required>
947            </div>
948            
949            <div class="form-group">
950                <label for="email">電郵地址:</label>
951                <input type="email" id="email" placeholder="請輸入你的電郵地址" required>
952            </div>
953            
954            <button id="submit-certificate" class="touch-feedback">生成證書</button>
955            
956            <div class="loading-indicator" id="loading-indicator">
957                <p>正在生成你的證書...</p>
958                <div class="spinner"></div>
959            </div>
960        </div>
961    </div>
962    
963    <div id="game-container" class="container" style="display: none;">
964        <h2>有趣的範文佳句遊戲</h2>
965        
966        <div class="game-mode-toggle">
967            <button id="normal-game-btn" class="game-mode-btn active touch-feedback">普通模式</button>
968            <button id="mirror-game-btn" class="game-mode-btn touch-feedback">鏡面游戲</button>
969        </div>
970        
971        <div class="game-container">
972            <div class="game-title">配對遊戲 - 佳句與解釋</div>
973            <p>找到對應的佳句和句意</p>
974            
975            <div class="game-board" id="matching-game">
976                <!-- Game cards will be added here by JavaScript -->
977            </div>
978            
979            <div class="game-result" id="game-result"></div>
980            
981            <button id="restart-game" class="touch-feedback">重新開始</button>
982        </div>
983    </div>
984    
985    <div class="overlay" id="certificate-overlay">
986        <div class="modal">
987            <span class="close-modal" id="close-modal">&times;</span>
988            <h2>證書預覽</h2>
989            <div id="certificate-preview"></div>
990        </div>
991    </div>
992    
993    <h5 align = "center"><a href="https://hkpsychiatry.com">翺翔醫療 CHEUNG NGO MEDICAL</a></h5>
994    
995    
995<script>
996        // Initialize EmailJS
997        (function() {
998            emailjs.init("dV1Wvtndk67MC0lHt"); // Replace with your actual EmailJS public key
999        })();
1000        
1001        // Chinese character data organized by categories (traditional characters)
1002const chineseCharacters = {
1003
1004"論仁、論孝、論君子": {
1005    "不仁者,不可以久處約,不可以長處樂": {
1006        pinyin: "bù rén zhě, bù kě yǐ jiǔ chǔ yuē, bù kě yǐ cháng chǔ lè",
1007        jyutping: "bat6 jan4 ze2, bat1 ho2 ji5 gau2 cyu3 joek3, bat1 ho2 ji5 coeng4 cyu3 lok6",
1008        meaning: "沒有仁德的人,無法長久地忍受困境,也無法長期地享受安樂",
1009        example: "小明只顧自己利益,不關心他人,當公司面臨困難時第一個跳槽,豐收時又想分一杯羹,結果同事都不信任他",
1010        emoji: "⚖️"
1011    },
1012    "仁者安仁,知者利仁": {
1013        pinyin: "rén zhě ān rén, zhī zhě lì rén",
1014        jyutping: "jan4 ze2 on1 jan4, zi1 ze2 lei6 jan4",
1015        meaning: "有仁德的人安於實行仁德,有智慧的人知道實行仁德而獲益",
1016        example: "老張經營雜貨店數十年,常常接濟街坊,雖不富裕但心安理得;他的生意反而越來越好,因為鄰里都願意到他店裡消費",
1017        emoji: "😌"
1018    },
1019    "君子去仁,惡乎成名": {
1020        pinyin: "jūn zǐ qù rén, wù hū chéng míng",
1021        jyutping: "gwan1 zi2 heoi3 jan4, wu3 fu1 sing4 ming4",
1022        meaning: "君子若拋棄仁德,怎能建立好名聲呢?",
1023        example: "那位本來備受尊敬的教授為了論文發表量而抄襲他人成果,一旦真相揭露,多年建立的學術聲譽頃刻崩塌",
1024        emoji: "🔍"
1025    },
1026    "克己復禮為仁": {
1027        pinyin: "kè jǐ fù lǐ wéi rén",
1028        jyutping: "hak1 gei2 fuk6 lai5 wai4 jan4",
1029        meaning: "克制自己的私慾,使言行舉止合乎禮節,就是仁德",
1030        example: "李奶奶在公車上看到孕婦上車,雖然自己腿腳不便,仍然立即起身讓座;這種克制自身需求,遵守社會禮儀的行為,正是仁德的體現",
1031        emoji: "🧘"
1032    },
1033    "非禮勿視,非禮勿聽,非禮勿言,非禮勿動": {
1034        pinyin: "fēi lǐ wù shì, fēi lǐ wù tīng, fēi lǐ wù yán, fēi lǐ wù dòng",
1035        jyutping: "fei1 lai5 mat6 si6, fei1 lai5 mat6 ting3, fei1 lai5 mat6 jin4, fei1 lai5 mat6 dung6",
1036        meaning: "不合禮節的事不要看,不合禮節的話不要聽,不合禮節的話不要說,不合禮節的事不要做",
1037        example: "小華在辦公室收到同事散播的八卦郵件,不但沒有點開,還婉拒參與相關閒談,避免傳播不實消息傷害他人,展現了君子的自律",
1038        emoji: "👁️👂👄🚶"
1039    },
1040    "志士仁人,無求生以害仁,有殺身以成仁": {
1041        pinyin: "zhì shì rén rén, wú qiú shēng yǐ hài rén, yǒu shā shēn yǐ chéng rén",
1042        jyutping: "zi3 si6 jan4 jan4, mou4 kau4 sang1 ji5 hoi6 jan4, jau5 saat3 san1 ji5 sing4 jan4",
1043        meaning: "有志氣的人和有仁德的人,不會為了保全性命而損害仁義,寧願犧牲自己的生命來成全仁義",
1044        example: "在大火中,年輕消防員明知危險仍衝入火場救出被困老人,不幸殉職;他不貪生怕死,為救人而犧牲自己的精神正是成仁的體現",
1045        emoji: "🔥"
1046    },
1047    "無違": {
1048        pinyin: "wú wéi",
1049        jyutping: "mou4 wai4",
1050        meaning: "不要違背禮節",
1051        example: "阿德雖然和父親有代溝,但每次與父親交談都保持尊敬的態度,不直接頂撞,而是找適當時機表達自己的想法,體現了「無違」的孝道",
1052        emoji: "🙏"
1053    },
1054    "生,事之以禮;死,葬之以禮,祭之以禮": {
1055        pinyin: "shēng, shì zhī yǐ lǐ; sǐ, zàng zhī yǐ lǐ, jì zhī yǐ lǐ",
1056        jyutping: "sang1, si6 zi1 ji5 lai5; sei2, zong3 zi1 ji5 lai5, zai3 zi1 ji5 lai5",
1057        meaning: "父母健在時,依規定的禮節侍奉他們;父母去世後,依規定的禮節安葬他們、祭祀他們",
1058        example: "陳先生每週定期探望父母,細心照顧他們的飲食起居;父母過世後,他按照傳統禮俗辦理喪事,每年清明都虔誠祭拜,從生到死都盡心盡力",
1059        emoji: "🏮"
1060    },
1061    "今之孝者,是謂能養。至於犬馬,皆能有養;不敬,何以別乎": {
1062        pinyin: "jīn zhī xiào zhě, shì wèi néng yǎng. zhì yú quǎn mǎ, jiē néng yǒu yǎng; bù jìng, hé yǐ bié hū",
1063        jyutping: "gam1 zi1 haau3 ze2, si6 wai6 nang4 joeng5. zi3 jyu1 hyun2 maa5, gaai1 nang4 jau5 joeng5; bat1 ging3, ho4 ji5 bit6 fu1",
1064        meaning: "現在所謂的孝道,僅僅是能夠供養父母。連狗馬都能得到餵養,如果對父母沒有敬意,與養狗養馬有什麼區別?",
1065        example: "阿強每月按時給父母匯錢,卻很少打電話問候,更不回家探望;這樣的供養不過是盡責任而已,缺乏真正的孝心與敬意",
1066        emoji: "💰"
1067    },
1068    "事父母幾諫,見志不從,又敬不違,勞而不怨": {
1069        pinyin: "shì fù mǔ jī jiàn, jiàn zhì bù cóng, yòu jìng bù wéi, láo ér bù yuàn",
1070        jyutping: "si6 fu6 mou5 gei1 gaan3, gin3 zi3 bat1 cung4, jau6 ging3 bat1 wai4, lou4 ji4 bat1 jyun3",
1071        meaning: "侍奉父母時要委婉勸諫,見父母不接納自己的意見,仍要恭敬不冒犯,雖然勞累但不抱怨",
1072        example: "媽媽堅持在寒冷天氣不穿厚衣,小芳多次勸說未果,便巧妙地準備了暖茶和暖手寶,既尊重媽媽的選擇,又用行動表達關心",
1073        emoji: "🍵"
1074    },
1075    "父母之年,不可不知也。一則以喜,一則以懼": {
1076        pinyin: "fù mǔ zhī nián, bù kě bù zhī yě. yī zé yǐ xǐ, yī zé yǐ jù",
1077        jyutping: "fu6 mou5 zi1 nin4, bat1 ho2 bat1 zi1 jaa5. jat1 zak1 ji5 hei2, jat1 zak1 ji5 geoi6",
1078        meaning: "父母的年齡不能不記住。一方面因他們長壽而高興,一方面因他們年紀大而擔憂",
1079        example: "王先生每天記錄父母的健康狀況,父親過七十大壽時舉家慶祝;同時也默默準備了醫療保險和養老計劃,體現了對父母年歲的重視",
1080        emoji: "🎂"
1081    },
1082    "君子不重則不威;學則不固": {
1083        pinyin: "jūn zǐ bù zhòng zé bù wēi; xué zé bù gù",
1084        jyutping: "gwan1 zi2 bat1 cung5 zak1 bat1 wai1; hok6 zak1 bat1 gu3",
1085        meaning: "君子不莊重就不會有威嚴;所學的也不會鞏固",
1086        example: "那位新上任的經理平日言行隨便,開會時常開玩笑插科打諢,結果團隊成員對他的專業能力產生質疑,無法服從他的領導",
1087        emoji: "👔"
1088    },
1089    "君子坦蕩蕩,小人長戚戚": {
1090        pinyin: "jūn zǐ tǎn dàng dàng, xiǎo rén cháng qī qī",
1091        jyutping: "gwan1 zi2 taan2 dong6 dong6, siu2 jan4 coeng4 cik1 cik1",
1092        meaning: "君子心胸開闊坦蕩,小人則經常憂愁不安",
1093        example: "老闆錯怪了張主任,澄清後老闆道歉,張主任毫不介懷繼續合作;而小王受到同樣誤解後,雖然也得到道歉,卻整天鬱鬱寡歡,處處計較",
1094        emoji: "☀️"
1095    },
1096    "君子不憂不懼": {
1097        pinyin: "jūn zǐ bù yōu bù jù",
1098        jyutping: "gwan1 zi2 bat1 jau1 bat1 geoi6",
1099        meaning: "君子不憂愁不恐懼",
1100        example: "公司面臨危機,趙經理沉著應對,不慌不忙制定解決方案,展現出泰山崩於前而色不變的君子風範",
1101        emoji: "🏔️"
1102    },
1103    "內省不疚,夫何憂何懼": {
1104        pinyin: "nèi xǐng bù jiù, fū hé yōu hé jù",
1105        jyutping: "noi6 sing2 bat1 gau6, fu1 ho4 jau1 ho4 geoi6",
1106        meaning: "內心反省無愧,有何可憂愁恐懼的呢?",
1107        example: "林醫生被病人家屬投訴,但因他確實按照專業標準診治,問心無愧,所以面對調查時神色平靜,坦然接受檢驗",
1108        emoji: "✨"
1109    },
1110    "君子成人之美,不成人之惡": {
1111        pinyin: "jūn zǐ chéng rén zhī měi, bù chéng rén zhī è",
1112        jyutping: "gwan1 zi2 sing4 jan4 zi1 mei5, bat1 sing4 jan4 zi1 ok3",
1113        meaning: "君子幫助別人做成好事,不幫助別人做壞事",
1114        example: "同事想開發新項目但缺乏資源,李經理主動提供支持;同一位同事後來想鑽制度漏洞,李經理則婉拒參與並勸他放棄",
1115        emoji: "🌱"
1116    },
1117    "君子恥其言而過其行": {
1118        pinyin: "jūn zǐ chǐ qí yán ér guò qí xíng",
1119        jyutping: "gwan1 zi2 ci2 kei4 jin4 ji4 gwo3 kei4 hang4",
1120        meaning: "君子以說得多做得少為恥",
1121        example: "周老師不僅在課堂上教導學生要誠實守信,自己在生活中也言出必行,答應學生的輔導從不爽約,贏得師生的敬重",
1122        emoji: "🚶"
1123    },
1124    "君子義以為質,禮以行之,孫以出之,信以成之": {
1125        pinyin: "jūn zǐ yì yǐ wéi zhì, lǐ yǐ xíng zhī, sūn yǐ chū zhī, xìn yǐ chéng zhī",
1126        jyutping: "gwan1 zi2 ji6 ji5 wai4 zat1, lai5 ji5 hang4 zi1, syun1 ji5 ceot1 zi1, seon3 ji5 sing4 zi1",
1127        meaning: "君子以義為本質,以禮節行事,以謙遜言談,以誠信完成",
1128        example: "陳總在商業談判中,堅持公平交易原則,遵守商業禮儀,態度謙和有禮,一諾千金從不失信,因此合作夥伴都願意與他長期合作",
1129        emoji: "🤝"
1130    },
1131    "君子病無能焉,不病人之不己知也": {
1132        pinyin: "jūn zǐ bìng wú néng yān, bù bìng rén zhī bù jǐ zhī yě",
1133        jyutping: "gwan1 zi2 beng6 mou4 nang4 jin1, bat1 beng6 jan4 zi1 bat1 gei2 zi1 jaa5",
1134        meaning: "君子只擔憂自己沒有能力,不擔憂別人不了解自己",
1135        example: "黃工程師默默鑽研技術,不計較同事的誤解和上司的忽視,專注提升自我;最終憑藉過硬的技術解決了公司難題,贏得認可",
1136        emoji: "📚"
1137    },
1138    "君子求諸己,小人求諸人": {
1139        pinyin: "jūn zǐ qiú zhū jǐ, xiǎo rén qiú zhū rén",
1140        jyutping: "gwan1 zi2 kau4 zyu1 gei2, siu2 jan4 kau4 zyu1 jan4",
1141        meaning: "君子要求自己,小人只會要求別人",
1142        example: "團隊績效不佳,劉主管反思自己的管理方法並調整策略;而張主管則責怪隊員能力差、市場環境不好,處處推卸責任",
1143        emoji: "🔄"
1144    }
1145},
1146
1147"魚我所欲也": {
1148    "魚,我所欲也,熊掌,亦我所欲也;二者不可得兼,舍魚而取熊掌者也": {
1149        pinyin: "yú, wǒ suǒ yù yě, xióng zhǎng, yì wǒ suǒ yù yě; èr zhě bù kě dé jiān, shě yú ér qǔ xióng zhǎng zhě yě",
1150        jyutping: "jyu4, ngo5 so2 juk6 jaa5, hung4 zoeng2, jik6 ngo5 so2 juk6 jaa5; ji6 ze2 bat1 ho2 dak1 gim1, se2 jyu4 ji4 ceoi2 hung4 zoeng2 ze2 jaa5",
1151        meaning: "魚是我想要的,熊掌也是我想要的;若不能同時擁有兩者,我會捨棄魚而選擇熊掌",
1152        example: "小陳在職場面臨兩個選擇:一份薪水高但工時長的大公司工作,和一份薪水較低但能享有生活品質的中小企業。經過思考,他選擇了後者,就像捨棄普通的魚而取珍貴的熊æŽ
1152Œä¸€æ¨£",
1153        emoji: "🐟🐻"
1154    },
1155    "生亦我所欲也,義亦我所欲也;二者不可得兼,舍生而取義者也": {
1156        pinyin: "shēng yì wǒ suǒ yù yě, yì yì wǒ suǒ yù yě; èr zhě bù kě dé jiān, shě shēng ér qǔ yì zhě yě",
1157        jyutping: "sang1 jik6 ngo5 so2 juk6 jaa5, ji6 jik6 ngo5 so2 juk6 jaa5; ji6 ze2 bat1 ho2 dak1 gim1, se2 sang1 ji4 ceoi2 ji6 ze2 jaa5",
1158        meaning: "生命是我想要的,道義也是我想要的;如果兩者不能同時擁有,我會捨棄生命而選擇道義",
1159        example: "那位醫生在疫情期間,明知感染風險很高,仍堅持留在前線照顧病人,最終自己也不幸染疫。他選擇了職業道德而非個人安危,正是「捨生取義」的現代體現",
1160        emoji: "🧬⚖️"
1161    },
1162    "生亦我所欲,所欲有甚於生者,故不為苟得也": {
1163        pinyin: "shēng yì wǒ suǒ yù, suǒ yù yǒu shèn yú shēng zhě, gù bù wèi gǒu dé yě",
1164        jyutping: "sang1 jik6 ngo5 so2 juk6, so2 juk6 jau5 sam6 jyu1 sang1 ze2, gu3 bat1 wai4 gau2 dak1 jaa5",
1165        meaning: "生命雖是我所喜愛的,但有更重要於生命的東西,所以不會苟且求生",
1166        example: "老李是老字號餐廳的傳人,許多大集團出高價要他改變祖傳配方以降低成本,但他寧可收入少些也要堅持品質,因為家族的聲譽比個人利益更重要",
1167        emoji: "🌱✨"
1168    },
1169    "死亦我所惡,所惡有甚於死者,故患有所不辟也": {
1170        pinyin: "sǐ yì wǒ suǒ wù, suǒ wù yǒu shèn yú sǐ zhě, gù huàn yǒu suǒ bù bì yě",
1171        jyutping: "sei2 jik6 ngo5 so2 wu3, so2 wu3 jau5 sam6 jyu1 sei2 ze2, gu3 waan6 jau5 so2 bat1 bik6 jaa5",
1172        meaning: "死亡雖是我所厭惡的,但有比死亡更令我厭惡的事,所以有些災禍我不逃避",
1173        example: "船長在沉船事故中,堅持留到最後確保所有乘客安全撤離,儘管知道這樣做可能喪命。對他來說,違背職責的恥辱比死亡更難以接受",
1174        emoji: "💀🛡️"
1175    },
1176    "非獨賢者有是心也,人皆有之,賢者能勿喪耳": {
1177        pinyin: "fēi dú xián zhě yǒu shì xīn yě, rén jiē yǒu zhī, xián zhě néng wù sàng ěr",
1178        jyutping: "fei1 duk6 jin4 ze2 jau5 si6 sam1 jaa5, jan4 gaai1 jau5 zi1, jin4 ze2 nang4 mat6 song3 ji5",
1179        meaning: "不只賢人有這樣的心,人人都有,只是賢人能不失去這本心罷了",
1180        example: "幼兒園的小朋友看見同學摔倒立刻伸手扶起,沒人教過他這樣做;而一些成年人見路人遇困卻視若無睹。這表明善良本性人人都有,只是有人保持了它,有人則喪失了",
1181        emoji: "❤️🧠"
1182    },
1183    "一簞食,一豆羹,得之則生,弗得則死": {
1184        pinyin: "yī dān shí, yī dòu gēng, dé zhī zé shēng, fú dé zé sǐ",
1185        jyutping: "jat1 daam1 sik6, jat1 dau6 gang1, dak1 zi1 zak1 sang1, fat1 dak1 zak1 sei2",
1186        meaning: "一筐飯,一碗湯,得到就能活命,得不到就會餓死",
1187        example: "小吳剛畢業時生活拮据,有時一天只能吃一個便當,卻依然拒絕了要他違法幫忙的高薪工作機會,堅持正當謀生",
1188        emoji: "🍚🍲"
1189    },
1190    "嘑爾而與之,行道之人弗受;蹴爾而與之,乞人不屑也": {
1191        pinyin: "hū ěr ér yǔ zhī, xíng dào zhī rén fú shòu; cù ěr ér yǔ zhī, qǐ rén bù xiè yě",
1192        jyutping: "fu1 ji5 ji4 jyu5 zi1, hang4 dou6 zi1 jan4 fat1 sau6; cuk1 ji5 ji4 jyu5 zi1, hat1 jan4 bat1 sit3 jaa5",
1193        meaning: "輕蔑地呼喝著給予食物,路人不會接受;踐踏過的食物給予,乞丐也不屑接受",
1194        example: "那位富商向貧困學生提供資助時,用居高臨下的態度談條件,結果被婉拒;反而是那位默默提供獎學金不求回報的普通老師,贏得了學生的尊敬和感激",
1195        emoji: "👑🙅"
1196    },
1197    "萬鍾則不辯禮義而受之": {
1198        pinyin: "wàn zhōng zé bù biàn lǐ yì ér shòu zhī",
1199        jyutping: "maan6 zung1 zak1 bat1 bin6 lai5 ji6 ji4 sau6 zi1",
1200        meaning: "面對優厚的俸祿,就不分辨是否合乎禮義就接受",
1201        example: "張律師明知客戶的案件有道德爭議,但因為對方開出的酬勞極其豐厚,最終選擇接下案子;這正是為利益而不計是非的表現",
1202        emoji: "💰🤔"
1203    },
1204    "萬鍾於我何加焉": {
1205        pinyin: "wàn zhōng yú wǒ hé jiā yān",
1206        jyutping: "maan6 zung1 jyu1 ngo5 ho4 gaa1 jin1",
1207        meaning: "高官厚祿對我有什麼益處呢",
1208        example: "退休教授被邀請到大企業當顧問,薪水是他以前的十倍,但他考慮å¾
1208Œå©‰æ‹’了:「這麼多錢對我有什麼用?我現在只想專心寫我的書,過簡單的生活」",
1209        emoji: "💸❓"
1210    },
1211    "此之謂失其本心": {
1212        pinyin: "cǐ zhī wèi shī qí běn xīn",
1213        jyutping: "ci2 zi1 wai6 sat1 kei4 bun2 sam1",
1214        meaning: "這就是喪失了最初的本心",
1215        example: "年輕時陳作家創作充滿理想與批判精神,獲得好評;成名後為了迎合市場和賺取版稅,寫起了沒有深度的暢銷書。老朋友見到他說:「你已經不是從前那個堅持文學理想的人了,你失去了本心」",
1216        emoji: "💔🧭"
1217    },
1218    "為宮室之美、妻妾之奉、所識窮乏者得我與": {
1219        pinyin: "wèi gōng shì zhī měi, qī qiè zhī fèng, suǒ shí qióng fá zhě dé wǒ yǔ",
1220        jyutping: "wai4 gung1 sat1 zi1 mei5, cai1 cit3 zi1 fung6, so2 sik1 kung4 fat6 ze2 dak1 ngo5 jyu5",
1221        meaning: "為了住宅的華美、妻妾的侍奉、讓認識的窮人得到我的幫助嗎",
1222        example: "王總監接受了一份違背良心但利潤豐厚的工作,後來買了豪宅、名車,常在朋友圈曬自己如何幫助窮人。他的老師看到後嘆息:「用不義之財做表面的善事,不過是在掩飾自己失去的良知」",
1223        emoji: "�mansion🤵"
1224    },
1225    "鄉為身死而不受,今為宮室之美為之": {
1226        pinyin: "xiāng wèi shēn sǐ ér bù shòu, jīn wèi gōng shì zhī měi wèi zhī",
1227        jyutping: "hoeng1 wai4 san1 sei2 ji4 bat1 sau6, gam1 wai4 gung1 sat1 zi1 mei5 wai4 zi1",
1228        meaning: "過去寧願犧牲生命也不接受的事,現在為了豪宅華美而去做",
1229        example: "年輕時的林先生曾拒絕用不正當手段賺錢,即使生活困苦;但中年後看到同學們豪宅名車,慢慢改變了立場,開始鑽營投機,用以前最鄙視的方式累積財富,只為了擁有奢華的物質生活",
1230        emoji: "⏳🏠"
1231    }
1232},
1233
1234
1235"廉頗藺相如列傳": {
1236    "藺相如可使": {
1237        pinyin: "lìn xiāng rú kě shǐ",
1238        jyutping: "leon6 soeng1 jyu4 ho2 si2",
1239        meaning: "藺相如可以擔當重任",
1240        example: "公司面臨一個重要海外談判,老闆思來想去,最終拍板讓平時默默無聞但臨危不亂的小李負責,同事私下討論「小李可使」,意指他足以勝任這項艱巨任務",
1241        emoji: "🧠"
1242    },
1243    "臣竊以為其人勇士,有智謀,宜可使": {
1244        pinyin: "chén qiè yǐ wéi qí rén yǒng shì, yǒu zhì móu, yí kě shǐ",
1245        jyutping: "san4 sit3 ji5 wai4 kei4 jan4 jung5 si6, jau5 zi3 mau4, ji4 ho2 si2",
1246        meaning: "我私下認為此人是勇敢之士,有智慧謀略,應該可以委以重任",
1247        example: "人事主管在高層會議上推薦新人張工程師時說:「雖然他資歷尚淺,但在上次系統危機中,他主動提出解決方案並徹夜工作,我認為他是個有勇有謀的人才,可以派他去負責新項目」",
1248        emoji: "🦁"
1249    },
1250    "王必無人,臣願奉璧往使": {
1251        pinyin: "wáng bì wú rén, chén yuàn fèng bì wǎng shǐ",
1252        jyutping: "wong4 bit1 mou4 jan4, san4 jyun6 fung6 bik1 wong5 si2",
1253        meaning: "若大王沒有合適的人選,我願意帶著玉璧前往使命",
1254        example: "團隊接到一個所有人都不願接手的棘手客戶,新來的小陳在會議中站起來說:「如果沒有人願意,我可以試一試」,最終他的膽識和誠意打動了客戶,成功達成合作",
1255        emoji: "🙋"
1256    },
1257    "城入趙而璧留秦;城不入,臣請完璧歸趙": {
1258        pinyin: "chéng rù zhào ér bì liú qín; chéng bù rù, chén qǐng wán bì guī zhào",
1259        jyutping: "sing4 jap6 ziu6 ji4 bik1 lau4 ceon4; sing4 bat1 jap6, san4 cing2 jyun4 bik1 gwai1 ziu6",
1260        meaning: "如果城池歸趙國,玉璧就留在秦國;如果城池不歸還,我會完好無缺地將玉璧帶回趙國",
1261        example: "小周在商談房屋交易時表明:「首付款到賬後,我才會交出房產證;若首付未按時到賬,我會立
1261即取消交易並退還定金」,這種明確條件的談判策略讓對方不敢輕舉妄動",
1262        emoji: "🏙️💎"
1263    },
1264    "相如視秦王無意償趙城,乃前曰:璧有瑕,請指示王": {
1265        pinyin: "xiāng rú shì qín wáng wú yì cháng zhào chéng, nǎi qián yuē: bì yǒu xiá, qǐng zhǐ shì wáng",
1266        jyutping: "soeng1 jyu4 si6 ceon4 wong4 mou4 ji3 soeng4 ziu6 sing4, naai5 cin4 juet6: bik1 jau5 haa4, cing2 zi2 si6 wong4",
1267        meaning: "相如見秦王無意兌現承諾歸還城池,就上前說:玉璧有瑕疵,請讓我指給大王看",
1268        example: "李經理在談判中發現對方簽約後不打算履行合約的某項條款,他巧妙地說:「這份合約有個小細節需要再確認一下」,趁機將文件拿回來,為自己爭取了轉圜空間",
1269        emoji: "👀💬"
1270    },
1271    "相如因持璧卻立,倚柱,怒髮上衝冠": {
1272        pinyin: "xiāng rú yīn chí bì què lì, yǐ zhù, nù fà shàng chōng guān",
1273        jyutping: "soeng1 jyu4 jan1 ci4 bik1 koek3 laap6, ji2 cyu5, nou6 faat3 soeng5 cung1 gun1",
1274        meaning: "相如拿著玉璧退後幾步,靠著柱子,氣得頭髮直豎頂著帽子",
1275        example: "老張在合夥人背信棄義私吞公款的證據確鑿後,在董事會上緊握證據,站在投影幕前,氣得聲音發抖卻條理分明地揭露了整個詐騙過程",
1276        emoji: "😡🧍"
1277    },
1278    "臣頭今與璧俱碎於柱矣": {
1279        pinyin: "chén tóu jīn yǔ bì jù suì yú zhù yǐ",
1280        jyutping: "san4 tau4 gam1 jyu5 bik1 keoi1 seoi3 jyu1 cyu5 ji5",
1281        meaning: "我的頭顱今天將要與玉璧一同撞碎在柱子上",
1282        example: "年輕工程師面對高層要求他簽署不安全報告時堅決表示:「我寧可辭職也不會在這份有安全隱患的文件上簽字,這關係到人命」,他的寧折不彎讓公司最終修改了設計方案",
1283        emoji: "💥🏛️"
1284    },
1285    "相如度秦王雖齋,決負約不償城": {
1286        pinyin: "xiāng rú duó qín wáng suī zhāi, jué fù yuē bù cháng chéng",
1287        jyutping: "soeng1 jyu4 dok6 ceon4 wong4 seoi1 zaai1, kyut3 fu6 joek3 bat1 soeng4 sing4",
1288        meaning: "相如判斷秦王雖然同意齋戒,但一定會違約不歸還城池",
1289        example: "小劉在與大客戶簽約後,儘管對方許諾三日內付款,仍暗中準備了應急方案;果然客戶找藉口拖延,他立即啟動備選計劃,避免了公司資金鏈斷裂",
1290        emoji: "🔍⚠️"
1291    },
1292    "五步之內,相如請得以頸血濺大王矣": {
1293        pinyin: "wǔ bù zhī nèi, xiāng rú qǐng dé yǐ jǐng xuè jiàn dà wáng yǐ",
1294        jyutping: "ng5 bou6 zi1 noi6, soeng1 jyu4 cing2 dak1 ji5 geng2 hyut3 zin3 daai6 wong4 ji5",
1295        meaning: "在五步之內的距離,我請求用我頸上的鮮血濺灑到大王身上",
1296        example: "面對強權企業威脅收購時,小公司創始人直視對方CEO:「即使你有資源優勢,但如果強行收購,我會立即公開所有不利於你的證據,兩敗俱傷」,這番決絕的姿態讓對方不得不重新考慮和談條件",
1297        emoji: "🩸👑"
1298    },
1299    "相如張目叱之,左右皆靡": {
1300        pinyin: "xiāng rú zhāng mù chì zhī, zuǒ yòu jiē mǐ",
1301        jyutping: "soeng1 jyu4 zoeng1 muk6 cik1 zi1, zo2 jau6 gaai1 mei5",
1302        meaning: "相如睜大眼睛呵斥他們,左右侍從都退縮了",
1303        example: "資深律師在法庭上面對對方不斷打斷的騷擾,突然提高聲音嚴正指出對方違反法庭程序,氣場強大得連法官都為之側目,對方律師團隊立刻安靜下來",
1304        emoji: "👁️🔥"
1305    },
1306    "我為趙將,有攻城野戰之大功,而藺相如徒以口舌為勞,而位居我上": {
1307        pinyin: "wǒ wéi zhào jiāng, yǒu gōng chéng yě zhàn zhī dà gōng, ér lìn xiāng rú tú yǐ kǒu shé wéi láo, ér wèi jū wǒ shàng",
1308        jyutping: "ngo5 wai4 ziu6 zoeng1, jau5 gung1 sing4 je5 zin3 zi1 daai6 gung1, ji4 leon6 soeng1 jyu4 tou4 ji5 hau2 sit6 wai4 lou4, ji4 wai6 geoi1 ngo5 soeng6",
1309        meaning: "我是趙國將領,立下了攻城掠地的大功勞,而藺相如只是靠嘴皮子做事,卻位居我之上",
1310        example: "技術總監王工看到剛入職的市場經理因一次成功談判就獲得提拔,在茶水間抱怨:「我帶團隊開發產品八年,他不過靠幾句花言巧語談成一個合同,就坐到我頭上了?」這種論資排輩的想法使他錯失了與新同事合作的機會",
1311        emoji: "⚔️🗣️"
1312    },
1313    "相如引車避匿": {
1314        pinyin: "xiāng rú yǐn chē bì nì",
1315        jyutping: "soeng1 jyu4 jan5 ce1 bei6 nei4",
1316        meaning: "相如指揮車子避開躲藏",
1317        example: "剛升職的李主管得知老總監對自己有意見,在公司年會上見到對方走來,巧妙地轉身與其他人交談,避免了可能的尷尬衝突",
1318        emoji: "🚗🙈"
1319    },
1320    "臣所以去親戚而事君者,徒慕君之高義也": {
1321        pinyin: "chén suǒ yǐ qù qīn qī ér shì jūn zhě, tú mù jūn zhī gāo yì yě",
1322        jyutping: "san4 so2 ji5 heoi3 can1 cik1 ji4 si6 gwan1 ze2, tou4 mou6 gwan1 zi1 gou1 ji6 jaa5",
1323        meaning: "我之所以離開親人來侍奉您,只是仰慕您的高尚品德",
1324        example: "年輕人放棄家鄉高薪工作到創業公司加入,對同學解釋:「我追隨這位創始人不是為了錢,而是欣賞他的創新理念和道德操守」,當看到領導避讓與同行的衝突時,他不禁懷疑了自己的選擇",
1325        emoji: "👨‍👩‍👧↔️👑"
1326    },
1327    "夫以秦王之威,而相如廷叱之,辱其羣臣,相如雖駑,獨畏廉將軍哉": {
1328        pinyin: "fū yǐ qín wáng zhī wēi, ér xiāng rú tíng chì zhī, rǔ qí qún chén, xiāng rú suī nú, dú wèi lián jiāng jūn zāi",
1329        jyutping: "fu1 ji5 ceon4 wong4 zi1 wai1, ji4 soeng1 jyu4 ting4 cik1 zi1, juk6 kei4 kwan4 san4, soeng1 jyu4 seoi1 nou4, duk6 wai4 lim4 zoeng1 gwan1 zoi1",
1330        meaning: "以秦王的威勢,我相如尚且敢在朝廷上斥責他,羞辱他的大臣,雖然我相如能力平庸,難道會獨獨害怕廉將軍嗎",
1331        example: "林經理在跨國談判中曾直面全球CEO的質問不卑不亢,回國後卻被傳言在內部會議上避開部門主管。同事私下議論時,他解釋道:「我連總部的壓力都不怕,何況是部門之間的小摩擦?避開他是為了大局,不是害怕」",
1332        emoji: "👨‍💼🗯️"
1333    },
1334    "今兩虎共鬥,其勢不俱生": {
1335        pinyin: "jīn liǎng hǔ gòng dòu, qí shì bù jù shēng",
1336        jyutping: "gam1 loeng5 fu2 gung6 dau3, kei4 sai3 bat1 geoi1 sang1",
1337        meaning: "現在如同兩隻老虎相鬥,局勢不可能兩全其美",
1338        example: "公司兩個核心部門的主管在重要項目上產生分歧,技術總監李工不參與爭論,對雙方說:「如果我們內部鬥爭不休,競爭對手就會坐收漁利,兩敗俱傷。應該先顧全公司利益,再解決部門分歧」",
1339        emoji: "🐯🐯"
1340    },
1341    "吾所以為此者,以先國家之急而後私讎也": {
1342        pinyin: "wú suǒ yǐ wèi cǐ zhě, yǐ xiān guó jiā zhī jí ér hòu sī chóu yě",
1343        jyutping: "ng4 so2 ji5 wai4 ci2 ze2, ji5 sin1 gwok3 gaa1 zi1 gap1 ji4 hau6 si1 sau4 jaa5",
1344        meaning: "我之所以這樣做,是把國家的急務放在前面,把個人的私怨放在後面",
1345        example: "兩位資深醫生因理念不合長年不和,但在突發重大傷亡事故時,二人不約而同出現在急診室,聯手救治重症患者。事後有人問起,年長的醫生說:「在生命面前,個人恩怨算什麼?救人要緊」",
1346        emoji: "🏛️👉❤️"
1347    },
1348    "廉頗肉袒負荊,因賓客至藺相如門謝罪": {
1349        pinyin: "lián pō ròu tǎn fù jīng, yīn bīn kè zhì lìn xiāng rú mén xiè zuì",
1350        jyutping: "lim4 po1 juk6 taan2 fu6 ging1, jan1 ban1 haak3 zi3 leon6 soeng1 jyu4 mun4 ze6 zeoi6",
1351        meaning: "廉頗赤裸上身,背負荊條,由賓客引領到藺相如門前謝罪",
1352        example: "公司老總與技術主管因意見不合鬧得很僵,後來老總了解到技術主管是為了保護公司利益才堅持己見。在全體員工會議上,老總主動走到技術主管面前,當眾說:「是我狹隘了,你的遠見是對的,我向你道歉」,這番真誠的認錯贏得了全公司的尊敬",
1353        emoji: "🧎‍♂️🌿"
1354    },
1355    "鄙賤之人,不知將軍寬之至此也": {
1356        pinyin: "bǐ jiàn zhī rén, bù zhī jiāng jūn kuān zhī zhì cǐ yě",
1357        jyutping: "bei2 zin6 zi1 jan4, bat1 zi1 zoeng1 gwan1 fun1 zi1 zi3 ci2 jaa5",
1358        meaning: "我這卑微鄙陋之人,不知道將軍寬宏大量至此",
1359        example: "年輕設計師因誤解而多次批評資深總監的方案,後來發現總監一直默默支持自己的創意並為他爭取資源。他羞愧地向總監道歉:「我眼光短淺,不知道您的胸懷如此寬廣,誤會您這麼久」",
1360        emoji: "🙏😳"
1361    },
1362    "卒相與驩,為刎頸之交": {
1363        pinyin: "zú xiāng yǔ huān, wèi wěn jǐng zhī jiāo",
1364        jyutping: "zeot1 soeng1 jyu5 fun1, wai4 man5 geng2 zi1 gaau1",
1365        meaning: "最終彼此和好,成為生死與共的朋友",
1366        example: "曾是商場對手的兩位企業家,在一次危機中互相扶持,共度難關後,不僅放下了舊日恩怨,更成為了無話不談的知己,商界人士稱他們是「刎頸之交」,成為了合作共贏的典範",
1367        emoji: "🤝❤️"
1368    }
1369},
1370
1371"勸學": {
1372    "學不可以已": {
1373        pinyin: "xué bù kě yǐ yǐ",
1374        jyutping: "hok6 bat1 ho2 ji5 ji5",
1375        meaning: "學習是不可以停止的",
1376        example: "退休的李教授已年過七十,仍每天閱讀新研究,參加學術研討會。有人問他為何不好好享清福,他微笑道:「知識如逆水行舟,不進則退,學習是一輩子的事,豈能停下?」",
1377        emoji: "📚🔄"
1378    },
1379    "青,取之於藍,而青於藍": {
1380        pinyin: "qīng, qǔ zhī yú lán, ér qīng yú lán",
1381        jyutping: "cing1, ceoi2 zi1 jyu1 laam4, ji4 cing1 jyu1 laam4",
1382        meaning: "靛青色從藍草中提取,顏色卻比藍草更青",
1383        example: "小張是王老師的學生,經過五年專業訓練後,他的畫作技法已超越了老師。參加比賽獲獎時,小張在台上感謝老師說:「我只是站在巨人的肩膀上,才能看得更遠」,謙虛地表達了青出於藍的成就",
1384        emoji: "🌱🌿"
1385    },
1386    "冰,水為之,而寒於水": {
1387        pinyin: "bīng, shuǐ wéi zhī, ér hán yú shuǐ",
1388        jyutping: "bing1, seoi2 wai4 zi1, ji4 hon4 jyu1 seoi2",
1389        meaning: "冰是由水結成的,卻比水更加寒冷",
1390        example: "陳老闆原本只是麵包店的學徒,十年苦心鑽研後開設自己的烘焙坊,發明的新式月餅比師傅的更受歡迎。老師傅欣慰地對顧客說:「徒弟的手藝已經超越了我,正如冰由水而生卻比水更冷啊!」",
1391        emoji: "💧❄️"
1392    },
1393    "木直中繩,輮以為輪,其曲中規": {
1394        pinyin: "mù zhí zhōng shéng, ruǎn yǐ wéi lún, qí qū zhōng guī",
1395        jyutping: "muk6 zik6 zung1 sing4, jyun5 ji5 wai4 leon4, kei4 kuk1 zung1 kwai1",
1396        meaning: "木材原本筆直符合繩墨標準,經火烤彎曲後卻合乎圓規的要求",
1397        example: "年輕運動員張小明因車禍失去一條腿,教練沒有放棄他,而是調整訓練方式,讓他轉戰殘奧會。經過痛苦的康復和重塑,他在賽場上的表現甚至超越了從前,正如木材因變形而找到新的完美",
1398        emoji: "🌲↪️⭕"
1399    },
1400    "故木受繩則直,金就礪則利": {
1401        pinyin: "gù mù shòu shéng zé zhí, jīn jiù lì zé l
1401ì",
1402        jyutping: "gu3 muk6 sau6 sing4 zak1 zik6, gam1 zau6 lai6 zak1 lei6",
1403        meaning: "木材經繩墨測量便會筆直,金屬在磨刀石上磨便會鋒利",
1404        example: "高中老師對班上叛逆的問題少年特別嚴格,每天督促他完成額外的習題。三年後,這位學生考入頂尖大學,回來感謝老師說:「是您的嚴格要求磨礪了我,讓我從一塊粗糙的石頭變成了有用的工具」",
1405        emoji: "🧵🔪"
1406    },
1407    "君子博學而日參省乎己,則知明而行無過矣": {
1408        pinyin: "jūn zǐ bó xué ér rì cān xǐng hū jǐ, zé zhī míng ér xíng wú guò yǐ",
1409        jyutping: "gwan1 zi2 bok3 hok6 ji4 jat6 saam1 sing2 fu1 gei2, zak1 zi1 ming4 ji4 hang4 mou4 gwo3 ji5",
1410        meaning: "君子廣泛學習並每天反省自己,便能知識通達,行為無過失",
1411        example: "李教授雖是領域內的權威,但每晚仍堅持記錄當天的教學和研究心得,反思不足之處。同事問他為何如此嚴格自律,他答道:「知識如大海,我所知有限;每天自我檢視,才能不犯同樣的錯誤,保持進步」",
1412        emoji: "📖🔍"
1413    },
1414    "吾嘗終日而思矣,不如須臾之所學也": {
1415        pinyin: "wú cháng zhōng rì ér sī yǐ, bù rú xū yú zhī suǒ xué yě",
1416        jyutping: "ng4 soeng4 zung1 jat6 ji4 si1 ji5, bat1 jyu4 seoi1 jyu4 zi1 so2 hok6 jaa5",
1417        meaning: "我曾整天思考,也不如短時間學習所得到的多",
1418        example: "張工程師面對一個困擾他一週的程式錯誤,獨自苦思冥想卻毫無進展。最後他參加了一個一小時的技術講座,問題立刻迎刃而解。回到辦公室他感嘆道:「空想一週,不如學習一小時」",
1419        emoji: "🤔📝"
1420    },
1421    "吾嘗跂而望矣,不如登高之博見也": {
1422        pinyin: "wú cháng qì ér wàng yǐ, bù rú dēng gāo zhī bó jiàn yě",
1423        jyutping: "ng4 soeng4 kei5 ji4 mong6 ji5, bat1 jyu4 dang1 gou1 zi1 bok3 gin3 jaa5",
1424        meaning: "我曾踮腳遠望,也不如登高處看得廣闊",
1425        example: "年輕的市場專員陳小姐總是埋頭處理日常事務,一次被公司派去參加國際展會,接觸到全球趨勢和頂尖理念後,她茅塞頓開,回來後提出了創新的市場策略。她對同事說:「井底之蛙看到的天空太小了,要爬到高處才能看到更廣闊的世界」",
1426        emoji: "👀🏔️"
1427    },
1428    "登高而招,臂非加長也,而見者遠": {
1429        pinyin: "dēng gāo ér zhāo, bì fēi jiā cháng yě, ér jiàn zhě yuǎn",
1430        jyutping: "dang1 gou1 ji4 ziu1, bei3 fei1 gaa1 coeng4 jaa5, ji4 gin3 ze2 jyun5",
1431        meaning: "登上高處招手,手臂並沒有變長,但看見的人卻更遠",
1432        example: "村裡的老師李先生多年來默默教書,成績平平。後來他開始在教育平台上分享教學心得,同樣的課程卻影響了全國各地的教師。同事感嘆:「你還是那個你,但因為站在了網絡這個高台上,聲音傳得更遠了」",
1433        emoji: "👋🗼"
1434    },
1435    "順風而呼,聲非加疾也,而聞者彰": {
1436        pinyin: "shùn fēng ér hū, shēng fēi jiā jí yě, ér wén zhě zhāng",
1437        jyutping: "seon6 fung1 ji4 fu1, sing1 fei1 gaa1 zat6 jaa5, ji4 man4 ze2 zoeng1",
1438        meaning: "順著風向呼喊,聲音並沒有更快,但聽見的人卻更多",
1439        example: "王作家的第一本書在市場上毫無反響,直到社會熱點與他的主題不謀而合,同樣的內容忽然引起廣泛討論。出版商對他說:「你的聲音沒變,只是現在順應了時代的風向,所以更多人聽見了你的呼喊」",
1440        emoji: "🌬️👂"
1441    },
1442    "假輿馬者,非利足也,而致千里": {
1443        pinyin: "jiǎ yú mǎ zhě, fēi lì zú yě, ér zhì qiān lǐ",
1444        jyutping: "gaa2 jyu4 maa5 ze2, fei1 lei6 zuk1 jaa5, ji4 zi3 cin1 lei5",
1445        meaning: "借助車馬的人,不是腿腳靈活,卻能到達千里之外",
1446        example: "小陳在鄉村長大,自學編程能力有限,但他善用各種開源工具和框架,短短兩年就開發出了一款成功的應用。面對讚譽他謙虛地說:「我並非天才程序員,只是善於借力,站在巨人的肩膀上前進」",
1447        emoji: "🐎🔄"
1448    },
1449    "假舟楫者,非能水也,而絕江河": {
1450        pinyin: "jiǎ zhōu jí zhě, fēi néng shuǐ yě, ér jué jiāng hé",
1451        jyutping: "gaa2 zau1 zip6 ze2, fei1 nang4 seoi2 jaa5, ji4 zyut6 gong1 ho4",
1452        meaning: "借助船槳的人,不是善於游泳,卻能橫渡江河",
1453        example: "李小姐沒有商學院背景,但她通過加入創業孵化器,獲得了導師指導和資源支持,成功創立了自己的公司。她在演講中分享:「我不是商業天才,但我懂得尋找合適的工具和平台,就像不會游泳的人藉助船隻一樣,一樣能夠跨越商海」",
1454        emoji: "🚣‍♂️🌊"
1455    },
1456    "君子生非異也,善假於物也": {
1457        pinyin: "jūn zǐ shēng fēi yì yě, shàn jiǎ yú wù yě",
1458        jyutping: "gwan1 zi2 sang1 fei1 ji6 jaa5, sin6 gaa2 jyu1 mat6 jaa5",
1459        meaning: "君子的天賦並非與眾不同,只是善於借助外物罷了",
1460        example: "張教授在國際會議上獲獎時,有人稱讚他天賦異稟。他卻說:「我的成就不是因為我比別人聰明,而是我更懂得利用身邊的資源和團隊的力量。真正的智慧不在於自己有多強,而在於如何整合各種力量共同前進」",
1461        emoji: "🧠🔧"
1462    },
1463    "積土成山,風雨興焉": {
1464        pinyin: "jī tǔ chéng shān, fēng yǔ xīng yān",
1465        jyutping: "zik1 tou2 sing4 saan1, fung1 jyu5 hing1 jin1",
1466        meaning: "泥土堆積成山,風雨便從中興起",
1467        example: "王先生二十年來每月定存一小筆錢,從不間斷。退休時,同事驚訝他積累了可觀的財富。他笑道:「我沒做什麼大投資,只是堅持積少成多,像泥土堆積成山一樣,最終形成了我人生的高峰,也為我的晚年帶來了安穩」",
1468        emoji: "🏔️🌧️"
1469    },
1470    "積水成淵,蛟龍生焉": {
1471        pinyin: "jī shuǐ chéng yuān, jiāo lóng shēng yān",
1472        jyutping: "zik1 seoi2 sing4 jyun1, gaau1 lung4 sang1 jin1",
1473        meaning: "水流積聚成深潭,蛟龍便在其中生長",
1474        example: "那個小書店堅持二十年專注於文學作品,慢慢匯聚了城市中最優質的讀者群和作家圈。許多知名作家都是從這裡起步的。老闆常說:「我們只是提供了一個文學的深潭,自然會吸引有才華的龍魚前來,文化的力量就是這樣積累起來的」",
1475        emoji: "💧🐉"
1476    },
1477    "積善成德,而神明自得,聖心備焉": {
1478        pinyin: "jī shàn chéng dé, ér shén míng zì dé, shèng xīn bèi yān",
1479        jyutping: "zik1 sin6 sing4 dak1, ji4 san4 ming4 zi6 dak1, sing3 sam1 bei6 jin1",
1480        meaning: "積累善行成就德行,便能達到通曉天道且心智圓滿的境界",
1481        example: "退休醫生張伯伯六十年來義診山區,從不間斷。他不求名利,但鄉親們有困難必找他幫忙。有記者問他為何如此無私,他平靜地說:「行醫濟世多年,看透生死,心中自有一份澄明,這比任何榮譽都珍貴,是金錢買不到的心靈平安」",
1482        emoji: "✨🧘"
1483    },
1484    "不積跬步,無以至千里": {
1485        pinyin: "bù jī kuǐ bù, wú yǐ zhì qiān lǐ",
1486        jyutping: "bat1 zik1 kwai2 bou6, mou4 ji5 zi3 cin1 lei5",
1487        meaning: "不積累半步之功,無法抵達千里之遠",
1488        example: "林奶奶退休後決定學習繪畫,每天堅持ç
1488·´ç¿’一小時。三年後,她的作品竟在社區展覽中大受歡迎。孫子問她怎麼做到的,她笑著説:「我沒有天賦,只是每天畫一點,像螞蟻搬家一樣,小步慢行也能走很遠」",
1489        emoji: "👣🛣️"
1490    },
1491    "不積小流,無以成江海": {
1492        pinyin: "bù jī xiǎo liú, wú yǐ chéng jiāng hǎi",
1493        jyutping: "bat1 zik1 siu2 lau4, mou4 ji5 sing4 gong1 hoi2",
1494        meaning: "不匯聚小溪流水,無法形成江河大海",
1495        example: "年輕創業者陳先生創辦的公益平台,一開始只有幾個人參與,他卻堅持每月發起小型捐贈活動。五年後,平台已匯集十萬會員,年捐款額突破千萬。他在演講中說:「公益力量看似微小,但聚沙成塔,滴水能穿石,最終能匯成改變社會的洪流」",
1496        emoji: "💧🌊"
1497    },
1498    "騏驥一躍,不能十步": {
1499        pinyin: "qí jì yī yuè, bù néng shí bù",
1500        jyutping: "kei4 gei2 jat1 joek6, bat1 nang4 sap6 bou6",
1501        meaning: "良駒一躍,也不能跳過十步之遠",
1502        example: "年輕鋼琴家王小明天賦異稟,但在國際比賽前仍堅持每天練習八小時。導師問他為何如此刻苦,他答道:「即使是天才,也無法一蹴而就達到巔峰,音樂之路需要一步一個腳印踏實走,沒有捷徑可走」",
1503        emoji: "🐎🦘"
1504    },
1505    "駑馬十駕,功在不舍": {
1506        pinyin: "nú mǎ shí jià, gōng zài bù shě",
1507        jyutping: "nou4 maa5 sap6 gaa3, gung1 zoi6 bat1 se3",
1508        meaning: "劣馬十天駕車,功勞在於不放棄",
1509        example: "張同學數學基礎很差,但他每天堅持多做一小時題目,期末竟然考了全班第三。老師在班會上表揚他說:「天賦不如人不要緊,只要肯下苦功,不輕言放棄,平凡的人也能取得不平凡的成就」",
1510        emoji: "🐴⏰"
1511    },
1512    "鍥而舍之,朽木不折": {
1513        pinyin: "qiè ér shě zhī, xiǔ mù bù shé",
1514        jyutping: "kit3 ji4 se3 zi1, nau5 muk6 bat1 zit3",
1515        meaning: "雕刻時半途而廢,連腐朽的木頭也不能折斷",
1516        example: "大學生小李開始健身,堅持了兩週就放棄了,三個月後毫無變化;他的室友則堅持每天訓練,半年後已經有了明顯成效。小李感嘆道:「看來真是功夫在持之以恆,三天打魚兩天曬網,連最簡單的目標也達不到」",
1517        emoji: "🪓🌳"
1518    },
1519    "鍥而不舍,金石可鏤": {
1520        pinyin: "qiè ér bù shě, jīn shí kě lòu",
1521        jyutping: "kit3 ji4 bat1 se3, gam1 sek6 ho2 lau5",
1522        meaning: "持續不斷地雕刻,金屬和石頭也能被雕鏤",
1523        example: "老陳是社區裡的普通保安,五十歲才開始學英語,每天堅持背十個單詞,六年後竟能流利地和外國住戶交流。有人問他秘訣,他笑道:「沒有秘訣,就是咬定青山不放鬆,只要日復一日地堅持,再堅硬的石頭也能鑿出花來」",
1524        emoji: "⚒️💎"
1525    },
1526    "螾無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也": {
1527        pinyin: "yǐn wú zhǎo yá zhī lì, jīn gǔ zhī qiáng, shàng shí āi tǔ, xià yǐn huáng quán, yòng xīn yī yě",
1528        jyutping: "jan5 mou4 zaau2 ngaa4 zi1 lei6, gan1 gwat1 zi1 koeng4, soeng6 sik6 oi1 tou2, haa6 jam2 wong4 cyun4, jung6 sam1 jat1 jaa5",
1529        meaning: "蚯蚓沒有鋒利的爪牙和強壯的筋骨,卻能在地上吃土,在地下喝水,這是因為專心一意",
1530        example: "張師傅是小鎮上的木匠,沒受過高等教育,也沒有現代化工具,但專注木工六十年,做出的家具卻連城裡的專家都讚嘆不已。有人問他如何做到的,他說:「我不聰明,就只會做這一件事,但我用盡全心去做,日復一日,專注的力量就是這麼神奇」",
1531        emoji: "🪱💪"
1532    },
1533    "蟹六跪而二螯,非蛇蟺之穴無可寄託者,用心躁也": {
1534        pinyin: "xiè liù guì ér èr áo, fēi shé shàn zhī xué wú kě jì tuō zhě, yòng xīn zào yě",
1535        jyutping: "haai5 luk6 gwai6 ji4 ji6 ngaau4, fei1 se4 sin6 zi1 jyut6 mou4 ho2 gei3 tok3 ze2, jung6 sam1 cou3 jaa5",
1536        meaning: "螃蟹有六隻腳和兩隻鉗,卻只能寄居在蛇鱔的洞穴中,是因為心浮氣躁",
1537        example: "年輕經理小王能力不差,但做事急功近利,三心二意,項目經常半途而廢。公司一個重要客戶流失後,老闆語重心長地對他說:「你聰明才智不比別人差,但太過浮躁,就像螃蟹有腳有鉗卻ç„
1537¡æ³•自立,必須改變心態,才能成大器」",
1538        emoji: "🦀🕳️"
1539    }
1540},
1541
1542"逍遙遊": {
1543    "魏王貽我大瓠之種,我樹之成而實五石": {
1544        pinyin: "wèi wáng yí wǒ dà hù zhī zhǒng, wǒ shù zhī chéng ér shí wǔ shí",
1545        jyutping: "ngai6 wong4 ji4 ngo5 daai6 wu4 zi1 zung2, ngo5 syu6 zi1 sing4 ji4 sat6 ng5 sek6",
1546        meaning: "魏王送我大葫蘆的種子,我種植後結出的果實有五石容量那麼大",
1547        example: "老張從國外帶回一種特殊樹苗,精心照料三年後,結出的果實比市面上的大三倍。他驕傲地向鄰居展示,卻發現這種水果口感太差無人願吃,最終只能作為擺設",
1548        emoji: "🌱🎃"
1549    },
1550    "以盛水漿,其堅不能自舉也": {
1551        pinyin: "yǐ shèng shuǐ jiāng, qí jiān bù néng zì jǔ yě",
1552        jyutping: "ji5 sing6 seoi2 zoeng1, kei4 gin1 bat1 nang4 zi6 geoi2 jaa5",
1553        meaning: "用來盛水,它的堅固程度承受不了所盛的水",
1554        example: "陳先生花重金買了名牌豪車,外觀亮麗引人注目,卻發現車子性能不佳,在崎嶇山路上行駛時總是故障。他感嘆道:「華而不實的東西,就像表面堅固卻無法承重的容器,只有外表沒有實用價值」",
1555        emoji: "💧💔"
1556    },
1557    "剖之以為瓢,則瓠落無所容": {
1558        pinyin: "pōu zhī yǐ wéi piáo, zé hù luò wú suǒ róng",
1559        jyutping: "pau2 zi1 ji5 wai4 piu4, zak1 wu4 lok6 mou4 so2 jung4",
1560        meaning: "把它劈開當作水瓢,則瓢身太大沒有容器可以容納它",
1561        example: "李博士開發的高端數據分析系統功能強大,但對普通企業來說過於複雜且昂貴,最終無人購買。同事委婉地說:「這就像做了個巨大的水瓢,卻找不到能放它的水缸,再好的工具不符合實際需求也無法發揮價值」",
1562        emoji: "🔪🥄"
1563    },
1564    "吾為其無用而掊之": {
1565        pinyin: "wú wèi qí wú yòng ér pǒu zhī",
1566        jyutping: "ng4 wai4 kei4 mou4 jung6 ji4 pau2 zi1",
1567        meaning: "我因為它沒有用處就把它打碎了",
1568        example: "張老師收到學生送的手工藝品,因為外形怪異放不進櫃子裡,就隨手扔進了垃圾桶。後來才知道那是學生花了一個月精心製作的感謝禮物,其中藏有珍貴照片。他後悔不已,意識到自己因片面判斷而錯失了珍貴之物",
1569        emoji: "🔨💔"
1570    },
1571    "夫子固拙於用大矣": {
1572        pinyin: "fū zǐ gù zhuō yú yòng dà yǐ",
1573        jyutping: "fu1 zi2 gu3 zyut6 jyu1 jung6 daai6 ji5",
1574        meaning: "你實在不善於使用大的東西啊",
1575        example: "公司購入了先進的人工智能系統,總經理卻只用它來處理簡單的數據統計。技術總監看不下去,委婉地說:「這套系統能分析客戶行為並預測市場趨勢,只用來做表格統計,就像用航空母艦去釣魚,實在是不懂得利用大資源啊」",
1576        emoji: "🤦‍♂️🐘"
1577    },
1578    "宋人有善為不龜手之藥者,世世以洴澼絖為事": {
1579        pinyin: "sòng rén yǒu shàn wéi bù guī shǒu zhī yào zhě, shì shì yǐ píng piào jìn wéi shì",
1580        jyutping: "sung3 jan4 jau5 sin6 wai4 bat1 gwai1 sau2 zi1 joek6 ze2, sai3 sai3 ji5 ping4 piu3 gin3 wai4 si6",
1581        meaning: "宋國有人善於製作防止手部龜裂的藥,世世代代以漂洗棉絮為生",
1582        example: "王奶奶有祖傳的止咳糖漿配方,家族幾代人只把它當作自家感冒用藥。直到孫女學醫後發現這配方含有獨特植物成分,經過改良和臨床測試,成為了暢銷的兒童止咳藥,為家族帶來了豐厚收入",
1583        emoji: "👐💊"
1584    },
1585    "客得之,以說吳王。越有難,吳王使之將": {
1586        pinyin: "kè dé zhī, yǐ shuō wú wáng. yuè yǒu nán, wú wáng shǐ zhī jiàng",
1587        jyutping: "haak3 dak1 zi1, ji5 syut3 ng4 wong4. jyut6 jau5 naan6, ng4 wong4 si2 zi1 zoeng1",
1588        meaning: "客人得到藥方後,拿去說服吳王。越國有難,吳王派他做將領",
1589        example: "小劉在工作之餘開發了一款數據安全工具,同事們只當他閒來打發時間。後來網絡安全事件頻發,他將工具介紹給公司高層,不僅解決了公司的安全危機,還被提拔為網絡安全部門主管,年薪翻了三倍",
1590        emoji: "👨‍💼👑"
1591    },
1592    "能不龜手一也;或以封,或不免於洴澼絖,則所用之異也": {
1593        pinyin: "néng bù guī shǒu yī yě; huò yǐ fēng, huò bù miǎn yú píng piào jìn, zé suǒ yòng zhī yì yě",
1594        jyutping: "nang4 bat1 gwai1 sau2 jat1 jaa5; waak6 ji5 fung1, waak6 bat1 min5 jyu1 ping4 piu3 gin3, zak1 so2 jung6 zi1 ji6 jaa5",
1595        meaning: "防止手龜裂的藥方是一樣的;有人因此得到封地,有人卻只能用來漂洗棉絮,這是使用方法不同",
1596        example: "兩兄弟同時從父親那裡學到了傳統木雕技藝。哥哥只在村裡接小活維持生計,弟弟則將木雕與現代設計結合,
1596創立品牌並拓展到國際市場。同樣的技能,一個勉強糊口,一個成就事業,關鍵在於如何運用",
1597        emoji: "🧴🧠"
1598    },
1599    "今子有五石之瓠,何不慮以為大樽而浮於江湖": {
1600        pinyin: "jīn zǐ yǒu wǔ shí zhī hù, hé bù lǜ yǐ wéi dà zūn ér fú yú jiāng hú",
1601        jyutping: "gam1 zi2 jau5 ng5 sek6 zi1 wu4, ho4 bat1 leoi6 ji5 wai4 daai6 zeon1 ji4 fu4 jyu1 gong1 wu4",
1602        meaning: "現在你有五石容量的大葫蘆,為何不考慮把它當作大酒器而浮游於江湖之上",
1603        example: "張教授研發的技術在國內無人理解,被同事嘲笑為異想天開。他沒有氣餒,將論文投往國際期刊,引起國外專家關注並獲得重要合作機會。他常對學生說:「當你的想法太超前,不要急著否定自己,也許只是在錯誤的環境中,換個舞台就能發光發熱」",
1604        emoji: "🎃🚣"
1605    },
1606    "而憂其瓠落無所容,則夫子猶有蓬之心也夫": {
1607        pinyin: "ér yōu qí hù luò wú suǒ róng, zé fū zǐ yóu yǒu péng zhī xīn yě fū",
1608        jyutping: "ji4 jau1 kei4 wu4 lok6 mou4 so2 jung4, zak1 fu1 zi2 jau4 jau5 pung4 zi1 sam1 jaa5 fu1",
1609        meaning: "你卻擔憂葫蘆太大而沒有器皿可以容納它,看來你的思想還是不夠開通啊",
1610        example: "年輕設計師李小姐創作的前衛服裝被本地時尚界批評為「無法穿上街」。她沮喪之際,導師鼓勵她:「你只是擔心自己的作品沒有市場,卻忘了藝術無需被既有觀念所容納。與其削足適履,不如尋找欣賞你獨特視角的舞台」。後來她的設計在國際比賽中獲獎,成為新潮流",
1611        emoji: "🤔🌪️"
1612    },
1613    "吾有大樹,人謂之樗;其大本擁腫而不中繩墨,其小枝卷曲而不中規矩": {
1614        pinyin: "wú yǒu dà shù, rén wèi zhī chū; qí dà běn yōng zhǒng ér bù zhòng shéng mò, qí xiǎo zhī juǎn qū ér bù zhòng guī jǔ",
1615        jyutping: "ng4 jau5 daai6 syu6, jan4 wai6 zi1 cyu1; kei4 daai6 bun2 jung2 zung2 ji4 bat1 zung3 sing4 mak6, kei4 siu2 zi1 gyun3 kuk1 ji4 bat1 zung3 kwai1 geoi2",
1616        meaning: "我有棵大樹,人們稱它為樗樹;它的主幹粗壯不合乎直尺的標準,它的小枝彎曲不合乎圓規的標準",
1617        example: "王老先生的兒子從小學習成績不佳,無法循規蹈矩,老師建議他去學技術。然而這個「不成材」的孩子卻在藝術領域展現出驚人天賦,成年後創立了知名設計工作室。王先生常感慨:「我差點因為他不符合傳統標準而錯過他真正的價值,就像那些看似不規則卻蘊含獨特美感的樹」",
1618        emoji: "🌳📏"
1619    },
1620    "立之塗,匠者不顧": {
1621        pinyin: "lì zhī tú, jiàng zhě bù gù",
1622        jyutping: "laap6 zi1 tou4, zoeng6 ze2 bat1 gu3",
1623        meaning: "樹立在路邊,木匠都不會看它一眼",
1624        example: "陳大爺家的古董花瓶造型怪異,多年來被當作普通擺設放在玄關。一次偶然的鑑寶活動中,專家發現這是罕見的窯變作品,價值連城。陳大爺笑道:「真正的價值往往被平常人忽視,就像路邊的奇樹被木匠視而不見,因為他們只看重合乎常規的東西」",
1625        emoji: "🛣️👨‍🔧"
1626    },
1627    "今子之言,大而無用,眾所同去也": {
1628        pinyin: "jīn zǐ zhī yán, dà ér wú yòng, zhòng suǒ tóng qù yě",
1629        jyutping: "gam1 zi2 zi1 jin4, daai6 ji4 mou4 jung6, zung3 so2 tung4 heoi3 jaa5",
1630        meaning: "現在你的言論,大而無用,大家都拋棄不取",
1631        example: "年輕教授張博士提出的教育改革理念被院系領導批評為「空談理想,不切實際」。會議上同事們都附和領導意見,沒人支持他。五年後,他的理念在國外教育系統獲得實踐並取得成功,原來的批評者紛紛來取經,讓人感嘆當初的「大而無用」如今成為了前沿思想",
1632        emoji: "💬🗑️"
1633    },
1634    "子獨不見狸狌乎?卑身而伏,以候敖者;東西跳梁,不辟高下,中於機辟,死於罔罟": {
1635        pinyin: "zǐ dú bù jiàn lí xiǎng hū? bēi shēn ér fú, yǐ hòu áo zhě; dōng xī tiào liáng, bù bì gāo xià, zhòng yú jī bì, sǐ yú wǎng gǔ",
1636        jyutping: "zi2 duk6 bat1 gin3 lei4 zoeng6 fu4? bei1 san1 ji4 fuk6, ji5 hau6 ngou4 ze2; dung1 sai1 tiu3 loeng4, bat1 bik6 gou1 haa6, zung3 jyu1 gei1 bik6, sei2 jyu1 mong5 gu2",
1637        meaning: "你難道沒見過野貓嗎?低伏身體埋伏著等待獵物;捕獵時東跳西躍,不避高低,結果踏中機關,死在獵網中",
1638        example: "年輕經理小趙為了業績盲目擴張,不顧風險接下所有項目,加班加點拚命工作。一年後公司因資金鏈斷裂倒閉,他不僅失業還背負å‚
1638µå‹™ã€‚導師告誡他:「成功需要策略和節奏,像你這樣東奔西跑不顧風險,就像只顧眼前獵物的野貓,最終落入陷阱」",
1639        emoji: "🐱🕸️"
1640    },
1641    "今夫斄牛,其大若垂天之雲;此能為大矣,而不能執鼠": {
1642        pinyin: "jīn fū líng niú, qí dà ruò chuí tiān zhī yún; cǐ néng wéi dà yǐ, ér bù néng zhí shǔ",
1643        jyutping: "gam1 fu1 ling4 ngau4, kei4 daai6 joek6 seoi4 tin1 zi1 wan4; ci2 nang4 wai4 daai6 ji5, ji4 bat1 nang4 zip3 syu2",
1644        meaning: "現在那些旄牛,龐大的身體就像天邊的雲;牠可以說很大了,卻不能捕捉老鼠",
1645        example: "李公司引進了最尖端的大型計算機系統,投入巨資卻發現日常業務處理反而變得更複雜。小型企業卻用簡單的雲服務高效運營。技術顧問指出:「有時候規模和能力不是正比的,龐大的系統就像旄牛,看似強大,卻不適合處理靈活的小任務,選擇合適的工具比選最強大的更重要」",
1646        emoji: "🐂☁️"
1647    },
1648    "今子有大樹,患其無用,何不樹之於無何有之鄉,廣莫之野": {
1649        pinyin: "jīn zǐ yǒu dà shù, huàn qí wú yòng, hé bù shù zhī yú wú hé yǒu zhī xiāng, guǎng mò zhī yě",
1650        jyutping: "gam1 zi2 jau5 daai6 syu6, waan6 kei4 mou4 jung6, ho4 bat1 syu6 zi1 jyu1 mou4 ho4 jau5 zi1 hoeng1, gwong2 mok6 zi1 je5",
1651        meaning: "現在你有這棵大樹,擔憂它沒有用處,為何不把它種在無物之境,廣闊的曠野上",
1652        example: "陳老師是位才華橫溢的畫家,但在商業畫廊屢遭拒絕,因為他的作品「太過前衛,無法銷售」。朋友建議他:「也許你不必強行融入商業藝術圈,可以嘗試獨立展覽或藝術教育。像你這樣的奇才,需要的是能欣賞你獨特視角的環境,而不是強行適應市場」。後來他在藝術學院找到了施展才華的舞台",
1653        emoji: "🌳🏞️"
1654    },
1655    "彷徨乎無為其側,逍遙乎寢卧其下": {
1656        pinyin: "páng huáng hū wú wéi qí cè, xiāo yáo hū qǐn wò qí xià",
1657        jyutping: "pong4 wong4 fu1 mou4 wai4 kei4 zak1, siu1 jiu4 fu1 cam2 ngo6 kei4 haa6",
1658        meaning: "在樹旁悠閒自在地徜徉,在樹下舒適愜意地躺卧",
1659        example: "退休的林教授放棄了城市高薪顧問機會,回到家鄉小鎮開設免費閱讀室。朋友不解他為何浪費才華,他微笑著說:「真正的價值不只在功利,我現在能每天與書為伴,與鄉親分享知識,這種悠然自得的生活,比起名利的追逐更讓我感到充實和自由」",
1660        emoji: "🚶‍♂️😌"
1661    },
1662    "不夭斤斧,物無害者。無所可用,安所困苦哉": {
1663        pinyin: "bù yāo jīn fǔ, wù wú hài zhě. wú suǒ kě yòng, ān suǒ kùn kǔ zāi",
1664        jyutping: "bat1 jiu1 gan1 fu2, mat6 mou4 hoi6 ze2. mou4 so2 ho2 jung6, on1 so2 kwan3 fu2 zoi1",
1665        meaning: "不遭斧頭砍伐,沒有東西來侵害它。沒有甚麼用處,又怎會遭受禍害呢",
1666        example: "王大爺家的老宅有片荒地,開發商多次提出高價購買都被拒絕。鄰居不解時,他解釋道:「這片地看似無用,卻是我孫輩們夏天乘涼、冬天堆雪人的樂園。正因為它『無用』,才能保持純淨不被破壞,給家人帶來真正的快樂。有時候,不被利用反而是最大的幸福」",
1667        emoji: "🪓🌳"
1668    }
1669},
1670
1671"出師表": {
1672    "先帝創業未半,而中道崩殂": {
1673        pinyin: "xiān dì chuàng yè wèi bàn, ér zhōng dào bēng cú",
1674        jyutping: "sin1 dai3 cong3 jip6 mei6 bun3, ji4 zung1 dou6 bang1 co4",
1675        meaning: "先帝創建的事業尚未完成一半,就中途去世了",
1676        example: "李總監帶領團隊開發的新產品才進行到一半,他卻因突發疾病離世。團隊成員面對未完成的項目和失去領導的困境,不得不重新調整計劃並鼓起勇氣繼續前行,以完成他未竟的事業",
1677        emoji: "👑⚰️"
1678    },
1679    "此誠危急存亡之秋也": {
1680        pinyin: "cǐ chéng wēi jí cún wáng zhī qiū yě",
1681        jyutping: "ci2 sing4 ngai4 gap1 cyun4 mong4 zi1 cau1 jaa5",
1682        meaning: "這真是危急生死存亡的時刻",
1683        example: "老字號餐廳面臨新型連鎖店的激烈競爭和疫情帶來的打擊,營業額下降八成,資金鏈瀕臨斷裂。創始人李老
1683闆對全體員工說:「我們現在正處於生死存亡的關鍵時刻,需要團結一心,創新求變,才能渡過難關」",
1684        emoji: "⚠️⏳"
1685    },
1686    "誠宜開張聖聽,以光先帝遺德,恢弘志士之氣": {
1687        pinyin: "chéng yí kāi zhāng shèng tīng, yǐ guāng xiān dì yí dé, huī hóng zhì shì zhī qì",
1688        jyutping: "sing4 ji4 hoi1 zoeng1 sing3 ting3, ji5 gwong1 sin1 dai3 wai4 dak1, fui1 wang4 zi3 si6 zi1 hei3",
1689        meaning: "應當廣開言路聽取意見,以發揚先帝遺留下的美德,鼓舞志士的氣節",
1690        example: "新上任的張總經理面對公司困境,不閉門造車,而是召開全體員工座談會,鼓勵各層級員工直言不諱地提出問題和建議。他在會上說:「只有聽取各方意見,才能延續前任打下的良好基礎,也能激勵大家為公司貢獻智慧」",
1691        emoji: "👂💡"
1692    },
1693    "不宜妄自菲薄,引喻失義,以塞忠諫之路也": {
1694        pinyin: "bù yí wàng zì fěi báo, yǐn yù shī yì, yǐ sāi zhōng jiàn zhī lù yě",
1695        jyutping: "bat1 ji4 mong6 zi6 fei2 bok6, jan5 jyu6 sat1 ji6, ji5 sak1 zung1 gaan3 zi1 lou6 jaa5",
1696        meaning: "不應隨便貶低自己,引用失去原意的比喻,堵塞忠臣進諫的途徑",
1697        example: "年輕的團隊主管劉小姐在會議上常說「我資歷淺,大家有什麼意見就直說」,卻在員工提出批評時表現出不悅。資深顧問私下告訴她:「謙虛是好事,但如果口頭謙虛卻不願接受建議,反而會讓團隊成員不敢發言,失去寶貴的改進機會」",
1698        emoji: "🚫🔇"
1699    },
1700    "宮中、府中,俱為一體,陟罰臧否,不宜異同": {
1701        pinyin: "gōng zhōng, fǔ zhōng, jù wéi yī tǐ, zhì fá zāng pǐ, bù yí yì tóng",
1702        jyutping: "gung1 zung1, fu2 zung1, geoi6 wai4 jat1 tai2, zik6 fat6 zong1 pei2, bat1 ji4 ji6 tung4",
1703        meaning: "皇宮和相府中的官員同屬一體,獎懲、褒貶都不應有不同標準",
1704        example: "大型企業併購中小公司後,對原有員工和新員工採用不同的評價標準和晉升制度,引起內部不滿。新任人資總監改革制度時強調:「無論是總部還是分公司,所有員工都是公司的重要組成部分,績效評估和獎懲制度必須統一標準,才能建立公平的企業文化」",
1705        emoji: "⚖️🏛️"
1706    },
1707    "若有作姦犯科,及為忠善者,宜付有司,論其刑賞,以昭陛下平明之治": {
1708        pinyin: "ruò yǒu zuò jiān fàn kē, jí wéi zhōng shàn zhě, yí fù yǒu sī, lùn qí xíng shǎng, yǐ zhāo bì xià píng míng zhī zhì",
1709        jyutping: "joek6 jau5 zok3 gaan1 faan6 fo1, kap6 wai4 zung1 sin6 ze2, ji4 fu6 jau5 si1, leon6 kei4 hing4 soeng2, ji5 ziu1 bai6 haa6 ping4 ming4 zi1 zi6",
1710        meaning: "如果有人做壞事違法,或者忠誠行善,應交由主管機關依法論處賞罰,以彰顯陛下公平清明的治理",
1711        example: "陳校長上任後,面對學校長期存在的「關係處理」問題,建立了嚴格的規章制度和透明的獎懲機制。有老師因表現優異獲獎,也有行政人員因舞弊被處分,一視同仁不徇私情,讓全校教職員感受到了公平公正的管理風氣",
1712        emoji: "🧑‍⚖️🎖️"
1713    },
1714    "不宜偏私,使內外異法也": {
1715        pinyin: "bù yí piān sī, shǐ nèi wài yì fǎ yě",
1716        jyutping: "bat1 ji4 pin1 si1, si2 noi6 ngoi6 ji6 faat3 jaa5",
1717        meaning: "不應偏袒徇私,使內部和外部有不同的法規標準",
1718        example: "某知名公司因讓高層管理者違反規定卻不受處分,而基層員工犯同樣錯誤則被嚴懲,引發員工抗議。新任CEO在全員大會上宣布:「從今天起,無論職位高低,公司規章對所有人一視同仁,包括我在內,這是重建公司誠信的第一步」",
1719        emoji: "🚫⚔️"
1720    },
1721    "此皆良實,志慮忠純": {
1722        pinyin: "cǐ jiē liáng shí, zhì lǜ zhōng chún",
1723        jyutping: "ci2 gaai1 loeng4 sat6, zi3 leoi6 zung1 seon4",
1724        meaning: "這些人都賢良忠實,心志思慮忠貞純正",
1725        example: "老劉在創業初期就跟隨王總,十年來無論公司經歷多少風雨,始終堅守崗位,甚至在公司最困難時主動減薪。王總常對新員工說:「老劉是我見過最忠誠可靠的人,他的建議雖然有時聽起來不討人喜歡,但絕對是為公司著想,這種正直的品格比ä
1725»»ä½•能力都珍貴」",
1726        emoji: "❤️💯"
1727    },
1728    "悉以咨之,然後施行,必能裨補闕漏,有所廣益": {
1729        pinyin: "xī yǐ zī zhī, rán hòu shī xíng, bì néng bì bǔ quē lòu, yǒu suǒ guǎng yì",
1730        jyutping: "sik1 ji5 zi1 zi1, jin4 hau6 si1 hang4, bit1 nang4 bei1 bou2 kyut3 lau6, jau5 so2 gwong2 jik6",
1731        meaning: "所有事情都諮詢他們的意見,然後再執行,一定能彌補缺漏,有所廣泛裨益",
1732        example: "張總在推行公司重大改革前,不僅徵求高層意見,還邀請基層代表和一線員工參與討論。雖然過程耗時,但最終方案既考慮到了戰略需求,也兼顧了執行細節,實施後效果遠超預期。他在總結會上說:「集思廣益永遠比閉門造車更有價值,團隊的智慧總能彌補個人視野的局限」",
1733        emoji: "💬👥"
1734    },
1735    "親賢臣,遠小人,此先漢所以興隆也": {
1736        pinyin: "qīn xián chén, yuǎn xiǎo rén, cǐ xiān hàn suǒ yǐ xīng lóng yě",
1737        jyutping: "can1 jin4 san4, jyun5 siu2 jan4, ci2 sin1 hon3 so2 ji5 hing1 lung4 jaa5",
1738        meaning: "親近賢臣,疏遠小人,這是西漢早期能夠興盛的原因",
1739        example: "劉董事長接手企業時,公司瀕臨破產。他首先重用了誠實正直但常直言批評的財務總監,同時疏遠了幾位擅長阿諛奉承的高管。三年後,公司扭虧為盈,市值翻了三倍。他在股東會上感慨:「企業能否健康發展,關鍵在於領導者是否有勇氣聽真話、用真人,而不是沉浸在奉承中自我陶醉」",
1740        emoji: "👍👨‍💼"
1741    },
1742    "親小人,遠賢臣,此後漢所以傾頹也": {
1743        pinyin: "qīn xiǎo rén, yuǎn xián chén, cǐ hòu hàn suǒ yǐ qīng tuí yě",
1744        jyutping: "can1 siu2 jan4, jyun5 jin4 san4, ci2 hau6 hon3 so2 ji5 king1 teoi4 jaa5",
1745        meaning: "親近小人,疏遠賢臣,這是東漢後期走向衰敗的原因",
1746        example: "老牌企業王氏集團因新任總裁偏聽偏信,重用會拍馬的親信而排斥提出風險警告的資深經理,結果做出一系列錯誤決策,市場份額下滑80%,最終被競爭對手收購。商業評論家將此案例作為企業管理課教材,警示後人領導者親近奉承者、疏遠忠言之士必然導致企業衰敗",
1747        emoji: "👎🐍"
1748    },
1749    "臣本布衣,躬耕於南陽,苟全性命於亂世,不求聞達於諸侯": {
1750        pinyin: "chén běn bù yī, gōng gēng yú nán yáng, gǒu quán xìng mìng yú luàn shì, bù qiú wén dá yú zhū hóu",
1751        jyutping: "san4 bun2 bou3 ji1, gung1 gang1 jyu1 naam4 joeng4, gau2 cyun4 sing3 ming6 jyu1 lyun6 sai3, bat1 kau4 man4 daat6 jyu1 zyu1 hau4",
1752        meaning: "我本是平民百姓,在南陽耕田維生,只求在亂世中保全性命,不求在諸侯間出名顯達",
1753        example: "知名作家張先生早年只是鄉村小學教師,安靜教書不求聞達。一次偶然機會,他的鄉土文章被知名編輯發現並推薦出版,一舉成名。在獲獎演講中,他謙虛地說:「我本只是鄉間教書匠,安於平凡生活,從未想過成名。能得到大家認可,是命運的眷顧,而非我的追求」",
1754        emoji: "👨‍🌾🏡"
1755    },
1756    "先帝不以臣卑鄙,猥自枉屈,三顧臣於草廬之中": {
1757        pinyin: "xiān dì bù yǐ chén bēi bǐ, wěi zì wǎng qū, sān gù chén yú cǎo lú zhī zhōng",
1758        jyutping: "sin1 dai3 bat1 ji5 san4 bei1 bei2, wai2 zi6 wong2 wat1, saam1 gu3 san4 jyu1 cou2 lou4 zi1 zung1",
1759        meaning: "先帝不因我地位卑微而輕視我,反而屈尊降貴,三次親自到我的草舍來拜訪",
1760        example: "知名教授李博士初入學術界時,因出身普通被許多人忽視。然而資深院士王教授卻多次親自到他簡陋的實驗室指導,甚至邀請他合作研究。多年後李博士成為領域權威,他在感謝恩師的講話中提到:「當年我只是無名小卒,王教授卻不嫌我出身寒微,三番兩次親自來指導,這份提攜之恩讓我終生難忘」",
1761        emoji: "🤴🛖"
1762    },
1763    "爾來二十有一年矣": {
1764        pinyin: "ěr lái èr shí yǒu yī nián yǐ",
1765        jyutping: "ji5 loi4 ji6 sap6 jau5 jat1 nin4 ji5",
1766        meaning: "從那時到現在已經二十一年了",
1767        example: "老王在公司從基層員工做起,經歷了公司從小作坊到上市企業的全過程。在ä
1767»–退休慶典上,他感慨地說:「從踏入公司大門到今天,轉眼已是二十一個年頭。這些年來,我與公司同呼吸共命運,見證了它的每一步成長,自己的人生也在這裡得到了完整的實現」",
1768        emoji: "📅2️⃣1️⃣"
1769    },
1770    "受命以來,夙夜憂歎,恐託付不效,以傷先帝之明": {
1771        pinyin: "shòu mìng yǐ lái, sù yè yōu tàn, kǒng tuō fù bù xiào, yǐ shāng xiān dì zhī míng",
1772        jyutping: "sau6 ming6 ji5 loi4, suk1 je6 jau1 taan3, hung2 tok3 fu6 bat1 haau6, ji5 soeng1 sin1 dai3 zi1 ming4",
1773        meaning: "自從接受使命以來,日夜憂心嘆息,害怕辜負託付,從而有損先帝的明智",
1774        example: "張經理接手了前任主管留下的重點項目,面對巨大壓力,常常工作到深夜。有同事勸他放鬆,他說:「前任對我非常信任才把這個項目交給我,我日夜擔心做不好會辜負他的期望,這不僅關係到項目成敗,也是對他知人善任的一種回應」",
1775        emoji: "😟🌙"
1776    },
1777    "故五月渡瀘,深入不毛": {
1778        pinyin: "gù wǔ yuè dù lú, shēn rù bù máo",
1779        jyutping: "gu3 ng5 jyut6 dou6 lou4, sam1 jap6 bat1 maau4",
1780        meaning: "因此我在五月渡過瀘水,深入荒蕪之地",
1781        example: "李總經理接手公司後發現南部市場一片荒蕪,儘管正值盛夏高溫,他仍親自帶隊前往最偏遠的地區考察。團隊在艱苦環境中工作一個月,終於打開了市場。後來他對新員工說:「創業哪有舒適可言?要在別人不願去的地方找機會,哪怕是炎炎夏日也要深入艱難之地」",
1782        emoji: "🌊🏜️"
1783    },
1784    "北定中原,庶竭駑鈍,攘除姦凶,興復漢室,還於舊都": {
1785        pinyin: "běi dìng zhōng yuán, shù jié nú dùn, rǎng chú jiān xiōng, xīng fù hàn shì, huán yú jiù dū",
1786        jyutping: "bak1 ding6 zung1 jyun4, syu3 git3 nou4 deon6, joeng2 ceoi4 gaan1 hung1, hing1 fuk6 hon3 sat1, waan4 jyu1 gau6 dou1",
1787        meaning: "向北平定中原,希望能盡我駑鈍之才,剷除奸邪兇惡,復興漢朝,遷都回舊日京城",
1788        example: "老字號「德興齋」因連鎖快餐衝擊幾近倒閉,新接手的年輕老闆張明不懼艱難,帶領團隊創新產品同時保留傳統工藝,努力打擊假冒產品,終於讓百年品牌重現光彩,並成功在故鄉開設了總店。他在開業致辭中動情地說:「希望盡我綿薄之力,對抗劣質仿冒,復興百年老字號,讓它回到最初的輝煌」",
1789        emoji: "⚔️🏯"
1790    },
1791    "臣不勝受恩感激": {
1792        pinyin: "chén bù shèng shòu ēn gǎn jī",
1793        jyutping: "san4 bat1 sing4 sau6 jan1 gam2 gik1",
1794        meaning: "我無比感激陛下的恩德",
1795        example: "李師傅出身農村,因家境貧困無法上大學。老闆王先生發現他有天賦,不僅資助他參加技術培訓,還親自指導。十年後,李師傅成為行業專家,開辦培訓班時動情地說:「恩師的提攜之恩,我無以為報。今天我能有所成就,全因當年他的慧眼識才和無私幫助,這份恩情我將終生銘記」",
1796        emoji: "🙏💓"
1797    },
1798    "臨表涕零,不知所言": {
1799        pinyin: "lín biǎo tì líng, bù zhī suǒ yán",
1800        jyutping: "lam4 biu2 tai3 ling4, bat1 zi1 so2 jin4",
1801        meaning: "面對此表,涕淚縱橫,不知該說什麼好",
1802        example: "老張退休那天,團隊為他準備了歡送會,播放了他三十年來的工作照片集錦和同事們的祝福視頻。當他站起來致辭時,眼淚止不住地流下來,哽咽著說:「看到大家的心意,我內心萬分感動,此刻千言萬語都在喉頭,卻不知從何說起,只能說聲謝謝大家」",
1803        emoji: "😢📜"
1804    }
1805},
1806
1807"師說": {
1808    "古之學者必有師": {
1809        pinyin: "gǔ zhī xué zhě bì yǒu shī",
1810        jyutping: "gu2 zi1 hok6 ze2 bit1 jau5 si1",
1811        meaning: "古代的求學者一定有老師",
1812        example: "李教授在新生開學典禮上語重心長地說:「我們現在有網路自學的便利,但在專業領域深造,仍需要有經驗的導師指點。就像我當年攻讀博士,若沒有恩師王老的細心指導,絕不可能有今日的成就。古往今來,真正的學問之路從來不是孤獨前行的」",
1813        emoji: "📚👨‍🏫"
1814    },
1815    "師者,所以傳道、受業、解惑也": {
1816        pinyin: "shī zhě, suǒ yǐ chuán dào, shòu yè, jiě huò yě",
1817        jyutping: "si1 ze2, so2 ji5 cyun4 dou6, sau6 jip6, gaai2 waak6 jaa5",
1818        meaning: "老師,是用來傳授道理、講授學業、解答疑惑的人",
1819        example: "張老師從教四十年,退休時學生們辦了個感恩會。一位已成企業家的舊生上台分享:「中學時我問張老師為何要學數學,他不只教我解題,更教我思考方式和解決問題的態度。多年後我才明白,真正的老師不僅傳授知識,更傳遞智慧,解開人生的困惑」",
1820        emoji: "🧠🔍"
1821    },
1822    "人非生而知之者,孰能無惑": {
1823        pinyin: "rén fēi shēng ér zhī zhī zhě, shú néng wú huò",
1824        jyutping: "jan4 fei1 sang1 ji4 zi1 zi1 ze2, suk6 nang4 mou4 waak6",
1825        meaning: "人不是生下來就懂得一切的,誰能沒有疑惑",
1826        example: "資深工程師王先生面對新入職的年輕人驕傲自滿,不願請教問題。一次系統故障,
1826年輕人束手無策時,王先生和藹地說:「別害怕問問題,我做了三十年工程師,每天還在學習新知識。人不是生來就什麼都懂的,連愛因斯坦都說自己一生都在學習」",
1827        emoji: "👶❓"
1828    },
1829    "惑而不從師,其為惑也終不解矣": {
1830        pinyin: "huò ér bù cóng shī, qí wéi huò yě zhōng bù jiě yǐ",
1831        jyutping: "waak6 ji4 bat1 cung4 si1, kei4 wai4 waak6 jaa5 zung1 bat1 gaai2 ji5",
1832        meaning: "有疑惑卻不向老師求教,這疑惑就永遠不能解決",
1833        example: "李同學自認聰明,程式課上有不懂的概念卻從不舉手提問,覺得下課自己查資料就行。期末項目時,他卡在同一個問題上整整一週。同學勸他問老師,他不好意思,結果錯過了提交期限。老師找他談話時說:「遇到困難不求助,只會讓問題越積越多,這是學習路上最大的障礙」",
1834        emoji: "🤔🚫"
1835    },
1836    "生乎吾前,其聞道也,固先乎吾,吾從而師之": {
1837        pinyin: "shēng hū wú qián, qí wén dào yě, gù xiān hū wú, wú cóng ér shī zhī",
1838        jyutping: "sang1 fu1 ng4 cin4, kei4 man4 dou6 jaa5, gu3 sin1 fu1 ng4, ng4 cung4 ji4 si1 zi1",
1839        meaning: "出生在我前面的人,他理解道理自然比我早,我就跟隨他學習",
1840        example: "35歲的張律師雖已是行業精英,但每週仍堅持向65歲的老律師請教。有人疑惑他地位已高為何仍如此,他解釋道:「前輩走過的路比我長,經歷的案例比我多,在經驗面前,年齡和職位都不重要。能向前輩學習是我的福氣,這讓我少走許多彎路」",
1841        emoji: "👴📝"
1842    },
1843    "生乎吾後,其聞道也,亦先乎吾,吾從而師之": {
1844        pinyin: "shēng hū wú hòu, qí wén dào yě, yì xiān hū wú, wú cóng ér shī zhī",
1845        jyutping: "sang1 fu1 ng4 hau6, kei4 man4 dou6 jaa5, jik6 sin1 fu1 ng4, ng4 cung4 ji4 si1 zi1",
1846        meaning: "出生在我後面的人,如果他理解道理比我早,我也跟隨他學習",
1847        example: "陳教授是資深學者,在一次研討會上,他公開向自己27歲的學生請教人工智能的最新應用。會後有同事私下問他為何如此,他微笑道:「知識無分年齡,小張在這領域的見解確實超前。我雖是他的導師,但在特定領域,他已經走在我前面,我何不虛心向他學習?這不僅促進學術發展,也為學生樹立終身學習的榜樣」",
1848        emoji: "👦🧠"
1849    },
1850    "吾師道也,夫庸知其年之先後生於吾乎": {
1851        pinyin: "wú shī dào yě, fū yōng zhī qí nián zhī xiān hòu shēng yú wú hū",
1852        jyutping: "ng4 si1 dou6 jaa5, fu1 jung4 zi1 kei4 nin4 zi1 sin1 hau6 sang1 jyu1 ng4 fu1",
1853        meaning: "我學習的是道理,何必在意他的年齡比我大還是比我小呢",
1854        example: "王工程師50歲時被派去學習新技術,發現培訓師是個25歲的年輕人。同事們竊竊私語,但王工程師專注學習,課後還主動請教問題。有人問他不覺得尷尬嗎?他說:「我來學的是知識,跟老師年齡有什麼關係?他懂我不懂的東西,就值得我尊重和學習,這樣才能與時俱進」",
1855        emoji: "🧓👦"
1856    },
1857    "無貴無賤,無長無少,道之所存,師之所存也": {
1858        pinyin: "wú guì wú jiàn, wú zhǎng wú shǎo, dào zhī suǒ cún, shī zhī suǒ cún yě",
1859        jyutping: "mou4 gwai3 mou4 zin6, mou4 zoeng2 mou4 siu3, dou6 zi1 so2 cyun4, si1 zi1 so2 cyun4 jaa5",
1860        meaning: "不分貴賤,不論長幼,哪裡有道理,哪裡就有老師",
1861        example: "李CEO雖身價億萬,但每月仍會去拜訪郊區一位老農民,向他學習有機農業知識。公司高管不解時,他解釋道:「張伯伯雖沒受過高等教育,但他幾十年的農耕經驗是書本上學不到的。真理不分身份地位,不分年齡大小。只要有值得學習的東西,我就虛心請教,這也是我們公司能在有機食品市場立足的秘訣」",
1862        emoji: "👑🧑"
1863    },
1864    "嗟乎!師道之不傳也久矣": {
1865        pinyin: "jiē hū! shī dào zhī bù chuán yě jiǔ yǐ",
1866        jyutping: "ze1 fu1! si1 dou6 zi1 bat1 cyun4 jaa5 gau2 ji5",
1867        meaning: "唉!尊師重道的風氣已經失傳很久了",
1868        example: "老校長在退休儀式上感嘆:「現在有些家長孩子一考不好就投訴老師,質疑教學方法,甚至要求換老師。記得我小時候,父母總是教導我尊重老師,有問題先反省自己。尊師重道的傳統似乎逐漸淡薄了,這對教育的未來是個隱憂」",
1869        emoji: "😔⏳"
1870    },
1871    "是故聖益聖,愚益愚": {
1872        pinyin: "shì gù shèng yì shèng, yú yì yú",
1873        jyutping: "si6 gu3 sing3 jik6 sing3, jyu4 jik6 jyu4",
1874        meaning: "因此聖人越來越聖明,愚人越來越愚昧",
1875        example: "兩位大學同學畢業後走上不同道路:張先生持續進修,虛心向行業專家學習,十年後成為公司技術總監;李先生則自認天資聰穎,從不參加培訓,認為經驗足夠,結果職位停滯不前。同學聚會上,大家感嘆:「一個不斷學習的人會越來越睿智,而固步自封的人只會與新知識漸行漸遠」",
1876        emoji: "📈📉"
1877    },
1878    "愛其子,擇師而教之;於其身也,則恥師焉,惑矣": {
1879        pinyin: "ài qí zǐ, zé shī ér jiāo zhī; yú qí shēn yě, zé chǐ shī yān, huò yǐ",
1880        jyutping: "oi3 kei4 zi2, zaak6 si1 ji4 gaau3 zi1; jyu1 kei4 san1 jaa5, zak1 ci2 si1 jin1, waak6 ji5",
1881        meaning: "愛惜自己的孩子,會選擇好老師教導他;對於自己,卻以拜師為恥,真是糊塗",
1882        example: "陳先生為女兒報了各種補習班,鋼琴、繪畫、英語樣樣不缺,但公司培訓時他總找藉口推辭,認為自己資歷夠了不需再學。妻子直言不諱:「你為孩子請最好的老師,自己卻不願學習新知識,這樣的榜樣怎麼能讓孩子明白終身學習的重要性?」這番話讓他深思,最終報名了進修課程",
1883        emoji: "👨‍👧🤦‍♂️"
1884    },
1885    "巫、醫、樂師、百工之人,不恥相師": {
1886        pinyin: "wū, yī, yuè shī, bǎi gōng zhī rén, bù chǐ xiāng shī",
1887        jyutping: "mou4, ji1, ngok6 si1, baak3 gung1 zi1 jan4, bat1 ci2 soeng1 si1",
1888        meaning: "巫師、醫生、音樂師、各種工匠,不以互相學習為恥",
1889        example: "資深外科醫生張教授常常參加年輕醫生主持的學術研討會,有時還請教剛畢業的醫生關於最新手術技術。有同事不解,他解釋說:「醫學日新月異,年輕人掌握的新知識和技術有時比我們更前沿。在醫學界,從不以向他人學習為恥,相反,不學習才是最大的恥辱,因為那意味著對病人不負責任」",
1890        emoji: "👨‍⚕️🧙‍♂️"
1891    },
1892    "士大夫之族,曰師、曰弟子云者,則羣聚而笑之": {
1893        pinyin: "shì dà fū zhī zú, yuē shī, yuē dì zǐ yún zhě, zé qún jù ér xiào zhī",
1894        jyutping: "si6 daai6 fu1 zi1 zuk6, jyut6 si1, jyut6 dai6 zi2 wan4 ze2, zak1 kwan4 zeoi6 ji4 siu3 zi1",
1895        meaning: "士大夫階層的人,聽到稱呼「老師」、「弟子」的,就聚在一起嘲笑",
1896        example: "王總監在業界有二十年經驗,卻公開表示拜年輕專家李博士為師學習人工智能。公司一些老資格經理在茶水間竊笑這種「師徒」稱呼太過時,認為高管向年輕人學習有失身份。然而半年後,王總監領導的項目因運用新技術而大獲成功,那些曾經嘲笑的人也開始悄悄請教李博士",
1897        emoji: "👨‍💼😂"
1898    },
1899    "位卑則足羞,官盛則近諛": {
1900        pinyin: "wèi bēi zé zú xiū, guān shèng zé jìn yú",
1901        jyutping: "wai6 bei1 zak1 zuk1 sau1, gun1 sing6 zak1 gan6 jyu4",
1902        meaning: "地位低的就覺得羞恥,地位高的就近於奉承",
1903        example: "公司新來的技術總監有專長但欠缺管理經驗,他想向具豐富經驗的基層主管學習,卻被告知「這樣會讓你在團隊面前失面子」;另一方面,當他想向公司高層請教時,又有人暗示「這會被視為拍馬屁」。他困惑地對友人說:「向下學習怕失尊嚴,向上學習又怕被誤解,這種觀念才是阻礙進步的真正障礙」",
1904        emoji: "👇😳"
1905    },
1906    "聖人無常師": {
1907        pinyin: "shèng rén wú cháng shī",
1908        jyutping: "sing3 jan4 mou4 soeng4 si1",
1909        meaning: "聖人沒有固定的老師",
1910        example: "張教授是生物科技領域的權威,但他的知識來源極其廣泛——他不僅向同行請教,還經常參加物理、計算機甚至藝術領域的講座。有學生問他為何涉獵如此廣泛,他笑答:「真正的智者不局限於單一知識源,我從物理學家那裡學到思維方法,從藝術家那裡得到創新靈感,從農民那裡了解實際需求。不設限自己的知識來源,才能在科研中有突破性發現」",
1911        emoji: "🧠🔄"
1912    },
1913    "孔子曰︰三人行,則必有我師": {
1914        pinyin: "kǒng zǐ yuē: sān rén xíng, zé bì yǒu wǒ shī",
1915        jyutping: "hung2 zi2 jyut6: saam1 jan4 hang4, zak1 bit1 jau5 ngo5 si1",
1916        meaning: "孔子說:三個人一起走,其中必定有可以做我老師的人",
1917        example: "科技公司老闆李先生每週五會與不同部門的三位員工共進午餐,從實習生到資深工程師都有機會。有人問他為何這麼做,他說:「每次交流我都有收穫——新人帶來前沿想法,老員工分享實戰經驗,甚至前台小王告訴我的客戶反饋都是寶貴資源。正如古人所言,幾個人相處,總能互相學習,這也是我公司能持續創新的秘訣」",
1918        emoji: "👨‍🏫👨‍🎓"
1919    },
1920    "弟子不必不如師,師不必賢於弟子": {
1921        pinyin: "dì zǐ bù bì bù rú shī, shī bù bì xián yú dì zǐ",
1922        jyutping: "dai6 zi2 bat1 bit1 bat1 jyu4 si1, si1 bat1 bit1 jin4 jyu1 dai6 zi2",
1923        meaning: "學生不一定比不上老師,老師不一定比學生賢能",
1924        example: "資深程序員張師傅帶的實習生王小明,在人工智能算法上展現出驚人天賦,三個月就解決了團隊困擾多時的技術難題。團隊慶功時,張師傅毫不吝嗇地說:「我教會了小明編程基礎,但他在算法創新上已經超越了我。師徒關係不是限制彼此的枷鎖,而是互相成就的橋樑,看到學生超越自己,是每個老師最大的驕傲」",
1925        emoji: "🔄🌱"
1926    },
1927    "聞道有先後,術業有專攻": {
1928        pinyin: "wén dào yǒu xiān hòu, shù yè yǒu zhuān gōng",
1929        jyutping: "man4 dou6 jau5 sin1 hau6, seot6 jip6 jau5 zyun1 gung1",
1930        meaning: "理解道理有先後之分,學習技藝各有專長",
1931        example: "大型科技公司的年度研討會上,60歲的資深架構師向30歲的機器學習專家請教問題,而這位年輕專家又在數據安全方面虛心向另一位同事學習。會後,公司CEO在總結發言中說:「我們每個人都有不同的知識獲取時間線和專業強項。張工程師編程經驗豐富,李博士算法領先,王專家安全過人,正是這種互相學習、取長補短的文化,讓我們的團隊無堅不摧」",
1932        emoji: "🕰️🔍"
1933    }
1934},
1935
1936"始得西山宴遊記": {
1937    "自余為僇人,居是州,恒惴慄": {
1938        pinyin: "zì yú wéi lù rén, jū shì zhōu, héng zhuì lì",
1939        jyutping: "zi6 jyu4 wai4 luk6 jan4, geoi1 si6 zau1, hang4 zeoi6 lit6",
1940        meaning: "自從我因受貶謫成為罪人,居住在這個州,經常感到憂懼不安",
1941        example: "陳工程師因專案失敗被調到偏遠支公司,遠離家人朋友,每天提心吊膽擔心再犯錯被解僱。他在日記中寫道:「自從調職來到這個陌生城市,我總是心神不寧,像個被放逐的人,時刻擔憂自己的未來」",
1942        emoji: "😨🏙️"
1943    },
1944    "其隙也,則施施而行,漫漫而遊": {
1945        pinyin: "qí xì yě, zé shī shī ér xíng, màn màn ér yóu",
1946        jyutping: "kei4 kwik1 jaa5, zak1 si1 si1 ji4 hang4, maan6 maan6 ji4 jau4",
1947        meaning: "空閒時,就緩緩而行,隨意地遊覽",
1948        example: "退休後的李老師不再被時間表束縛,每天清晨漫步公園,下午隨性逛書店,有時坐在湖邊發一下午呆。朋友問他退休生活如何,他微笑道:「閒暇時光最珍貴,我現在學會了慢慢走路,隨心所欲地遊玩,這種不被催趕的自由,才是我一生嚮往的境界」",
1949        emoji: "🚶‍♂️🍃"
1950    },
1951    "日與其徒上高山,入深林,窮迴溪": {
1952        pinyin: "rì yǔ qí tú shàng gāo shān, rù shēn lín, qióng huí xī",
1953        jyutping: "jat6 jyu5 kei4 tou4 soeng5 gou1 saan1, jap6 sam1 lam4, kung4 wui4 kai1",
1954        meaning: "每天與同伴攀登高山,走入深林,探索曲折的溪流",
1955        example: "退休的張教授不顧家人反對,與幾位老友組成「老頑童探險隊」,每週選一處郊外勝景探訪。他的日記寫道:「今日與老李老王徒步登上獅子山,穿越那片無人問津的竹林,一路尋找傳說中的山泉。雖然膝蓋生疼,但這種走進自然、探索未知的快樂,讓我仿佛回到了少年時代」",
1956        emoji: "🏔️🌲"
1957    },
1958    "幽泉怪石,無遠不到": {
1959        pinyin: "yōu quán guài shí, wú yuǎn bù dào",
1960        jyutping: "jau1 cyun4 gwaai3 sek6, mou4 jyun5 bat1 dou3",
1961        meaning: "幽僻的泉水怪異的石頭,再遠的地方也都去到",
1962        example: "退休後的王先生買了輛房車,與太太走遍祖國大江南北。朋友們驚訝於這對古稀老人的體力,王先生笑道:「人生最後這段旅程,我決心不留遺憾。從海南島的隱秘海灣到新疆的奇石峽谷,不管多遠多難到達,我們都要親眼看一看,這是我們給自己最好的禮物」",
1963        emoji: "💧🪨"
1964    },
1965    "到則披草而坐,傾壺而醉": {
1966        pinyin: "dào zé pī cǎo ér zuò, qīng hú ér zuì",
1967        jyutping: "dou3 zak1 pei1 cou2 ji4 zo6, king1 wu4 ji4 zeoi3",
1968        meaning: "到了就撥開草坐下,倒空酒壺痛飲至醉",
1969        example: "張律師平日西裝筆挺、一絲不苟,但每個月末的週末,他都會獨自駕車到郊外,尋一處無人的草地,擺上自釀的米酒和簡單的食物,席地而坐,痛飲至酣。他對好友說:「在那裡,沒有案件,沒有電話,只有風吹草動和醉意朦朧,那短暫的放縱是我維持理智的解藥」",
1970        emoji: "🧎‍♂️🍶"
1971    },
1972    "醉則更相枕以卧,卧而夢": {
1973        pinyin: "zuì zé gèng xiāng zhěn yǐ wò, wò ér mèng",
1974        jyutping: "zeoi3 zak1 gang3 soeng1 zam2 ji5 ngok6, ngok6 ji4 mung6",
1975        meaning: "喝醉後就互相枕靠而睡,睡著了就做夢",
1976        example: "大學同學會後,幾位多年未見的老友喝得酩酊大醉,最後乾脆在農家樂的草地上並排躺下,以彼此肩膀為枕,就這樣在星空下睡著了。第二天醒來,李教授感慨地說:「昨晚夢中我們又回到了二十歲,還是那個教室,那些輕狂的日子。人生最美的時刻,或許就是醉臥忘憂,與友同夢」",
1977        emoji: "😴💭"
1978    },
1979    "意有所極,夢亦同趣": {
1980        pinyin: "yì yǒu suǒ jí, mèng yì tóng qù",
1981        jyutping: "ji3 jau5 so2 gik6, mung6 jik6 tung4 ceoi3",
1982        meaning: "心意達到極處,夢境也與之相同",
1983        example: "年輕畫家王小明沉迷於創作新系列畫作,日思夜想,甚至晚上也夢見自己在畫布前揮毫。一天清晨,他從夢中驚醒,立刻抓起畫筆,完成了他最具突破性的作品。他告訴朋友:「白天想得太專注,晚上連夢都是相同的內容,但奇妙的是,夢中的靈感往往比清醒時更純粹、更大膽」",
1984        emoji: "💭🎨"
1985    },
1986    "覺而起,起而歸": {
1987        pinyin: "jué ér qǐ, qǐ ér guī",
1988        jyutping: "gok3 ji4 hei2, hei2 ji4 gwai1",
1989        meaning: "醒來就起身,起身就回家",
1990        example: "張老先生在湖邊釣魚,常常一坐就是一整天,有時打盹睡著。孫子問他為何每次醒來就立刻收拾回家,不再多待一會兒。老人笑道:「人生就像釣魚,知道何時該來,也該懂得何時該走。醒來就該動身,不戀棧、不拖泥帶水,這是æ
1990ˆ‘八十年的生活智慧」",
1991        emoji: "👁️🏠"
1992    },
1993    "未始知西山之怪特": {
1994        pinyin: "wèi shǐ zhī xī shān zhī guài tè",
1995        jyutping: "mei6 ci2 zi1 sai1 saan1 zi1 gwaai3 dak6",
1996        meaning: "還不曾知道西山的奇特之處",
1997        example: "老陳在同一家公司工作了二十年,每天走同一條路上下班,以為對這座城市已瞭如指掌。退休後某天,他意外拐進一條小巷,發現了一個隱藏的古老社區,充滿歷史和活力。他驚訝地對妻子說:「真不敢相信,我在這城市生活了大半輩子,卻從不知道轉角後還有這樣一個完全不同的世界。看來我對這座城市的了解,還停留在皮毛階段」",
1998        emoji: "❓🏔️"
1999    },
2000    "因坐法華西亭,望西山,始指異之": {
2001        pinyin: "yīn zuò fǎ huá xī tíng, wàng xī shān, shǐ zhǐ yì zhī",
2002        jyutping: "jan1 zo6 faat3 waa4 sai1 ting4, mong6 sai1 saan1, ci2 zi2 ji6 zi1",
2003        meaning: "因為坐在法華寺的西亭,遙望西山,才開始發現它的獨特之處",
2004        example: "李教授研究同一理論三十年,始終在既定框架內思考。一次偶然的學術會議上,他從不同學科的角度聽到對這個理論的解讀,突然眼前一亮。他在日記中寫道:「今天彷彿站在了一個全新的觀察點,重新審視我鑽研一生的課題,才發現它還有如此多的可能性和深度。有時候,只需換個視角,熟悉的風景就會呈現出驚人的不同」",
2005        emoji: "🪑👀"
2006    },
2007    "窮山之高而止": {
2008        pinyin: "qióng shān zhī gāo ér zhǐ",
2009        jyutping: "kung4 saan1 zi1 gou1 ji4 zi2",
2010        meaning: "一直登到山的最高處才停下",
2011        example: "六十歲的張先生決定完成年輕時未能實現的夢想——攀登五岳。經過一年的體能訓練,他終於站在了泰山之巔。當朋友問他為何不選擇更輕鬆的遊覽方式時,他微笑道:「登山如人生,不到最高處就看不到最美的風景。我已經妥協了大半輩子,餘下的日子,我要追求每一次登頂的成就感,哪怕步履蹣跚」",
2012        emoji: "🧗‍♂️🏔️"
2013    },
2014    "攀援而登,箕踞而遨": {
2015        pinyin: "pān yuán ér dēng, jī jù ér áo",
2016        jyutping: "paan1 jyun4 ji4 dang1, gei1 geoi6 ji4 ngou4",
2017        meaning: "攀爬登上山頂,隨意地坐著遠眺",
2018        example: "退休教授王先生花了三小時艱難地爬上城郊的山頂,氣喘吁吁地坐在一塊大石上,張開雙腿,望著城市全景。他的學生擔心他的身體,他卻笑著說:「年輕時為生活奔波,總是坐姿端正、行為規範;如今終於可以像古人一樣,隨性而坐,放眼四望。這份登高望遠的自在,是我辛勞一生的最好回報」",
2019        emoji: "🧗‍♂️👁️"
2020    },
2021    "凡數州之土壤,皆在衽席之下": {
2022        pinyin: "fán shù zhōu zhī tǔ rǎng, jiē zài rèn xí zhī xià",
2023        jyutping: "faan4 sou3 zau1 zi1 tou2 joeng2, gaai1 zoi6 jam6 zik6 zi1 haa6",
2024        meaning: "附近幾個州的土地,都呈現在我坐席之下",
2025        example: "李先生辛苦創業二十年,終於將小小手工作坊發展成為上市公司,業務遍及全國。在公司二十週年慶典上,他站在總部大樓頂層,俯瞰自己在各省的分公司標記,感慨萬千地對老員工說:「記得當年我們擠在小車間,連房租都發愁;如今放眼望去,我們的事業跨越千里,那些曾經遙不可及的城市,現在都在我們腳下展開」",
2026        emoji: "🌎👁️"
2027    },
2028    "尺寸千里,攢蹙累積,莫得遯隱": {
2029        pinyin: "chǐ cùn qiān lǐ, cuán cù lèi jī, mò dé dùn yǐn",
2030        jyutping: "cek3 cyun3 cin1 lei5, zaan3 cuk1 leoi6 zik1, mok6 dak1 deon6 jan2",
2031        meaning: "眼前尺寸之間的距離實際相隔千里,山川聚集堆疊,無所遁藏",
2032        example: "退休後的航空攝影師王先生,在展覽上展示了他從飛機上拍攝的中國地形全景。觀眾們驚嘆於照片中山脈、河流如微縮模型般清晰可見。王先生解釋道:「在萬米高空,千里之遙的山脈在鏡頭中也不過幾厘米長,雄偉的地貌盡收眼底,就連深山老林的隱秘角落也無處遁形。這種俯瞰大地的體驗,讓人對自然既敬畏又親近」",
2033        emoji: "📏🗺️"
2034    },
2035    "縈青繚白,外與天際": {
2036        pinyin: "yíng qīng liáo bái, wài yǔ tiān jì",
2037        jyutping: "jing4 cing1 liu4 baak6, ngoi6 jyu5 tin1 zai3",
2038        meaning: "青山白水互相環繞,遠處與天際相接",
2039        example: "張先生退休後移居山區,在自家陽台上放了一把躺椅。每天傍晚,他就在那裡欣賞群山環繞的景色,看青翠的山巒和潔白的雲霧交織,直至天地相接處。城裡朋友問他不寂寞嗎,他微笑著回答:「當你看著蒼翠的群山被白雲纏繞,遠處山與天融為一體的壯麗景象,內心只有寧靜和滿足,哪來的寂寞?這是都市生活永遠無法給予的富足」",
2040        emoji: "🏞️☁️"
2041    },
2042    "然後知是山之特出,不與培塿為類": {
2043        pinyin: "rán hòu zhī shì shān zhī tè chū, bù yǔ péi lǒu wéi lèi",
2044        jyutping: "jin4 hau6 zi1 si6 saan1 zi1 dak6 ceot1, bat1 jyu5 pui4 lau2 wai4 leoi6",
2045        meaning: "然後才知道這座山的獨特之處,不與小土丘同類",
2046        example: "年輕畫家李明參加了許多畫展,看過無數作品,自認為對藝術已有相當理解。直到他在巴黎盧浮宮親眼見到梵高的原作,才被那震撼的筆觸和情感所震懾。他在日記中寫道:「今天我才明白,真正的傑作與普通佳作有本質區別。那些曾讓我驚嘆的畫作,在大師面前不過是小丘與高山的差別。原來我對藝術的理解,還如此膚淺」",
2047        emoji: "🏔️🤔"
2048    },
2049    "悠悠乎與顥氣俱,而莫得其涯": {
2050        pinyin: "yōu yōu hū yǔ hào qì jù, ér mò dé qí yá",
2051        jyutping: "jau1 jau1 fu1 jyu5 hou6 hei3 geoi6, ji4 mok6 dak1 kei4 ngaai4",
2052        meaning: "廣闊無邊的景象,與天地間浩瀚的氣息融為一體,找不到邊際",
2053        example: "退休教授陳先生獨自駕車橫穿戈壁沙漠,在茫茫無際的曠野中駐足。晚上他在營地日記中寫道:「今天站在沙漠中央,四周無邊無際,天地相接處模糊一片。在這裡,人變得極其渺小,卻奇妙地感到與整個宇宙相連。那種無法言說的壯闊與永恆,讓人忘記了自己的存在,只覺得靈魂與這浩瀚的天地融為一體,再也分不清彼此的界限」",
2054        emoji: "🌌🧘‍♂️"
2055    },
2056    "洋洋乎與造物者遊,而不知其所窮": {
2057        pinyin: "yáng yáng hū yǔ zào wù zhě yóu, ér bù zhī qí suǒ qióng",
2058        jyutping: "joeng4 joeng4 fu1 jyu5 zou6 mat6 ze2 jau4, ji4 bat1 zi1 kei4 so2 kung4",
2059        meaning: "浩瀚廣闊的景象,彷彿與造物主一同遊覽,不知其盡頭所在",
2060        example: "六十歲的天文學家李教授,在退休前的最後一個晚上,獨自在天文台凝視星空。透過最先進的望遠鏡,他觀測著距地球數百萬光年的星系。他在筆記本上寫道:「今晚仰望宇宙,我感覺自己不只是觀測者,而是與創造這一切的神秘力量共同漫遊。這無窮無盡的星辰大海,既讓人感到自身渺小,又因能夠理解其中一部分規律而感到與宇宙相連。三十年的研究生涯,終究只是揭開了無盡奧秘的一角」",
2061        emoji: "🌊🌌"
2062    },
2063    "引觴滿酌,頹然就醉": {
2064        pinyin: "yǐn shāng mǎn zhuó, tuí rán jiù zuì",
2065        jyutping: "jan5 soeng1 mun5 zoek3, seoi4 jin4 zau6 zeoi3",
2066        meaning: "舉起酒杯痛飲,沉醉其中",
2067        example: "退休記者王先生在人生第七十個生日那天,獨自一人去了最愛的山頂。他帶了一壺珍藏多年的老酒,坐在最佳觀景處,一邊欣賞夕陽西下,一邊慢慢品酒。不知不覺,一壺酒見底,他也微醺沉醉。多年好友打電話問他去哪慶生,他笑道:「我在與山川對飲,在最美的風景前,讓自己毫無保留地沉醉一次。這種與天地交融的感覺,勝過任何豪華的生日宴會」",
2068        emoji: "🍶😌"
2069    },
2070    "蒼然暮色,自遠而至,至無所見,而猶不欲歸": {
2071        pinyin: "cāng rán mù sè, zì yuǎn ér zhì, zhì wú suǒ jiàn, ér yóu bù yù guī",
2072        jyutping: "cong1 jin4 mou6 sik1, zi6 jyun5 ji4 zi3, zi3 mou4 so2 gin3, ji4 jau4 bat1 juk6 gwai1",
2073        meaning: "蒼茫的暮色,從遠處漸漸籠罩過來,直到什麼也看不見,但仍不想回去",
2074        example: "退休後的陳老師經常獨自去海邊,尤其鍾情於黃昏時分。一天,他坐在礁石上看海,天色漸暗,海天逐漸模糊成一片深藍。朋友打電話催他回家,他卻說:「雖然天已經黑得幾乎看不見海浪,但這種被黑暗溫柔包圍的感覺太美好了。在這裡,時間彷彿靜止,我不想這麼快就回到燈火通明的現實世界」",
2075        emoji: "🌆🌊"
2076    },
2077    "心凝形釋,與萬化冥合": {
2078        pinyin: "xīn níng xíng shì, yǔ wàn huà míng hé",
2079        jyutping: "sam1 jing4 jing4 sik1, jyu5 maan6 faa3 ming4 hap6",
2080        meaning: "心靈凝聚專注,形體得到解脫,與萬物變化融為一體",
2081        example: "資深瑜伽導師王女士,在喜馬拉雅山脈靜ä
2081¿®ä¸€å€‹æœˆå¾Œå›žä¾†ï¼Œå­¸ç”Ÿå€‘發現她氣質更加寧靜超脫。當被問到最大的收穫,她微笑著說:「在那座山的懷抱中,有一天清晨,我完全沉浸在冥想中,忽然感覺自己的身體界限消失了,意識與周圍的山水草木、飛鳥雲彩完全融為一體。那一刻,我不再是獨立的個體,而是大自然整體的一部分。那種感受無法用語言描述,但它徹底改變了我看待世界的方式」",
2082        emoji: "🧘‍♀️🌿"
2083    },
2084    "然後知吾嚮之未始遊,遊於是乎始": {
2085        pinyin: "rán hòu zhī wú xiàng zhī wèi shǐ yóu, yóu yú shì hū shǐ",
2086        jyutping: "jin4 hau6 zi1 ng4 hoeng3 zi1 mei6 ci2 jau4, jau4 jyu1 si6 fu1 ci2",
2087        meaning: "然後才知道我從前並未真正遊覽過,真正的遊覽是從現在才開始",
2088        example: "張教授研究中國古典文學三十年,出版著作無數。直到六十歲那年,他獨自一人重走詩人杜甫的足跡,徒步旅行三個月。回來後,他在講座中感慨:「三十年來,我自以為對古典詩詞已有深刻理解,直到這次親身經歷了詩人所見的風景、感受了他們描寫的四季變化,才恍然大悟——過去我所有的理解都只是皮毛。真正理解古典文學的旅程,其實是從現在才真正開始」",
2089        emoji: "👁️🔄"
2090    }
2091},
2092
2093"六國論": {
2094    "六國破滅,非兵不利,戰不善,弊在賂秦": {
2095        pinyin: "liù guó pò miè, fēi bīng bù lì, zhàn bù shàn, bì zài lù qín",
2096        jyutping: "luk6 gwok3 po3 mit6, fei1 bing1 bat1 lei6, zin3 bat1 sin6, bai6 zoi6 lou6 ceon4",
2097        meaning: "六國滅亡,不是因為兵器不鋒利,戰鬥不善,癥結在於賄賂秦國",
2098        example: "老字號「德興齋」餐廳經營百年,卻在新老闆接手兩年內倒閉。前員工感嘆道:「不是我們的廚藝不精湛,也不是服務不周到,而是新老闆一味追求擴張,把老店的積蓄都投入到高風險的新項目中,最終元氣大傷,無力回天」",
2099        emoji: "⚔️💰"
2100    },
2101    "賂秦而力虧,破滅之道也": {
2102        pinyin: "lù qín ér lì kuī, pò miè zhī dào yě",
2103        jyutping: "lou6 ceon4 ji4 lik6 kwai1, po3 mit6 zi1 dou6 jaa5",
2104        meaning: "賄賂秦國而導致國力損耗,這就是滅亡的原因",
2105        example: "張先生為了維持與大客戶的關係,不斷降價讓利,甚至虧本接單。一年後,公司現金流斷裂,被迫關門。他後悔地對合夥人說:「我以為討好大客戶能保證生意,卻忘了每筆虧本交易都在耗損我們的根基,這種短視行為最終導致了公司的滅亡」",
2106        emoji: "🏳️💸"
2107    },
2108    "不賂者以賂者喪": {
2109        pinyin: "bù lù zhě yǐ lù zhě sàng",
2110        jyutping: "bat1 lou6 ze2 ji5 lou6 ze2 song3",
2111        meaning: "不賄賂秦國的國家因為賄賂秦國的國家而滅亡",
2112        example: "科技行業中,堅持獨立研發的小公司A,因為同行B公司向大廠低價出售專利技術,使大廠迅速壯大並最終壟斷市場,導致A公司無法生存。A公司創始人無奈地說:「我們堅持原則,拒絕廉價交出核心技術,卻因為其他公司的短視行為而陪葬,這就是商業生態的殘酷現實」",
2113        emoji: "🚫🔄"
2114    },
2115    "蓋失強援,不能獨完": {
2116        pinyin: "gài shī qiáng yuán, bù néng dú wán",
2117        jyutping: "koi3 sat1 koeng4 jyun4, bat1 nang4 duk6 jyun4",
2118        meaning: "因為失去了強大的援助,不能獨自保全完好",
2119        example: "中小型書店老闆李先生堅持不與大型連鎖書店合作,保持獨立經營。當其他獨立書店紛紛倒閉或被收購後,他失去了共同採購、資源共享的夥伴,最終因無法與連鎖巨頭競爭而關門。他感嘆道:「堅持獨立固然可貴,但當所有同行都消失後,單打獨鬥的結局往往是難以為繼」",
2120        emoji: "💪🚶"
2121    },
2122    "小則獲邑,大則得城": {
2123        pinyin: "xiǎo zé huò yì, dà zé dé chéng",
2124        jyutping: "siu2 zak1 wok6 jap1, daai6 zak1 dak1 sing4",
2125        meaning: "小的就獲得鄉鎮,大的就獲得城邑",
2126        example: "跨國企業收購本地品牌時,手段層出不窮。王總對下屬解釋策略:「小公司,我們直接全資收購;大企業,則通過股權合作逐步控制。去年我們用1000萬收購了三家小型配件廠,又用10億戰略投資了行業龍頭,現在供應鏈上下游已經基本被我們掌控」",
2127        emoji: "🏘️🏙️"
2128    },
2129    "秦之所得與戰勝而得者,其實百倍": {
2130        pinyin: "qín zhī suǒ dé yǔ zhàn shèng ér dé zhě, qí shí bǎi bèi",
2131        jyutping: "ceon4 zi1 so2 dak1 jyu5 zin3 sing3 ji4 dak1 ze2, kei4 sat6 baak3 bei3",
2132        meaning: "秦國通過賄賂獲得的土地比戰爭獲勝所得到的土地,實際上多出百倍",
2133        example: "知名科技公司通過商業合作和投資獲取的市場份額,遠超過直接競爭所得。業內分析師指出:「這家公司過去五年收購了二十多家初創企業,投資了上百家合作夥伴,所獲得的技術專利和市場份額,比其自身研發和市場競爭獲得的多了至少50倍。他們明白在現代商業中,『合作』往往比『征服』更有效率」",
2134        emoji: "📈💯"
2135    },
2136    "思厥先祖父,暴霜露,斬荊棘,以有尺寸之地": {
2137        pinyin: "sī jué xiān zǔ fù, bào shuāng lù, zhǎn jīng jí, yǐ yǒu chǐ cùn zhī dì",
2138        jyutping: "si1 kyut3 sin1 zou2 fu6, bou6 soeng1 lou6, zaam2 ging1 gik6, ji5 jau5 cek3 cyun3 zi1 dei6",
2139        meaning: "想到祖先冒著風霜雨露,披荊斬棘,才有了寸土之地",
2140        example: "李老闆看著父親一手創辦、如今面臨被收購的家族企業,心情複雜。晚飯時他對兒子說:「你爺爺當年負債創業,風裡雨裡送貨,晚上還要手工記賬,一分一毫積攢才有了今天的廠房和設備。現在大企業一紙合約就想收購我們,他們根本不懂這裡的每一磚一瓦背後有多少辛酸血淚」",
2141        emoji: "👴🌧️"
2142    },
2143    "子孫視之不甚惜,舉以予人,如棄草芥": {
2144        pinyin: "zǐ sūn shì zhī bù shèn xī, jǔ yǐ yǔ rén, rú qì cǎo jiè",
2145        jyutping: "zi2 syun1 si6 zi1 bat1 sam6 sik1, geoi2 ji5 jyu5 jan4, jyu4 hei3 cou2 gaai3",
2146        meaning: "子孫不珍惜這些土地,全都給予別人,如同丟棄小草一樣",
2147        example: "老張辛苦一生創立的家族企業,在他去世後被幾個兒子迅速瓜分變賣。長子把祖傳的老廠房賣給了地產商,二子把積累多年的客戶資源轉手給了競爭對手。老員工王師傅感嘆道:「老張生前節儉克己,一分一毫都看得重,連廢紙都要回收利用。如今他的兒子們卻把他畢生心血當垃圾一樣隨意丟棄,真是令人心痛」",
2148        emoji: "👨‍👦🍃"
2149    },
2150    "今日割五城,明日割十城,然後得一夕安寢": {
2151        pinyin: "jīn rì gē wǔ chéng, míng rì gē shí chéng, rán hòu dé yī xī ān qǐn",
2152        jyutping: "gam1 jat6 got3 ng5 sing4, ming4 jat6 got3 sap6 sing4, jin4 hau6 dak1 jat1 zik6 on1 cam2",
2153        meaning: "今天割讓五座城,明天割讓十座城,然後獲得一晚安穩的睡眠",
2154        example: "中小企業主陳先生為了應付大客戶不斷壓價的要求,先是降低了產品毛利,接著又裁減了研發團隊,最後甚至出售了核心技術專利。每次妥協後,他都告訴員工:「只要渡過這個難關,公司就能穩定發展。」然而危機不斷,最終公司失去競爭力被迫關閉。他的商業顧問一針見血地指出:「短視的妥協只能換來短暫的寧靜,卻葬送了企業的未來」",
2155        emoji: "🏙️✂️"
2156    },
2157    "暴秦之欲無厭,奉之彌繁,侵之愈急": {
2158        pinyin: "bào qín zhī yù wú yàn, fèng zhī mí fán, qīn zhī yù jí",
2159        jyutping: "bou6 ceon4 zi1 juk6 mou4 jim6, fung6 zi1 mei4 faan4, jam1 zi1 jyu6 gap1",
2160        meaning: "強暴的秦國慾望無法滿足,給予得越多,侵犯得越急迫",
2161        example: "小型出版社為了滿足大型發行集團的要求,不斷降低版稅比例,增加贈送優惠,最終淪為對方的廉價內容提供者。社長王先生不無悔恨地對編輯說:「我們越是順從他們的要求,他們就提出更苛刻的條件。去年答應七折銷售,今年就要求六折;去年免費提供電子版權,今年連音頻版權也要無償獲取。這種無底線的讓步,最終只會被徹底吞併」",
2162        emoji: "🦁🍽️"
2163    },
2164    "不戰而強弱勝負已判矣": {
2165        pinyin: "bù zhàn ér qiáng ruò shèng fù yǐ pàn yǐ",
2166        jyutping: "bat1 zin3 ji4 koeng4 joek6 sing3 fu6 ji5 pun3 ji5",
2167        meaning: "不需要戰鬥,強弱勝負已經判定了",
2168        example: "創業十年的李先生面對行業巨頭的降價競爭,無奈地宣布關閉公司。離職聚餐上,他對團隊坦言:「當巨頭決定進入我們的市場時,結局其實已經注定。他們有十倍於我們的資金可以燒錢,有更強大的供應鏈可以壓低成本,甚至能夠長期虧損運營。這場競爭從開始就不在同一起跑線上,不需要真正打完這場仗,勝負已經很明顯了」",
2169        emoji: "⚖️🏆"
2170    },
2171    "以地事秦,猶抱薪救火,薪不盡,火不滅": {
2172        pinyin: "yǐ dì shì qín, yóu bào xīn jiù huǒ, xīn bù jìn, huǒ bù miè",
2173        jyutping: "ji5 dei6 si6 ceon4, jau4 pou5 san1 gau3 fo2, san1 bat1 zeon6, fo2 bat1 mit6",
2174        meaning: "用土地侍奉秦國,如同抱著柴火去救火,柴火不用完,火就不會熄滅",
2175        example: "張老闆為了平息大客戶的不滿,不斷提供免費服務和額外折扣。財務總監最終忍不住直言:「我們這樣做就像是用自己的血去滅火,越讓步他們要求越多。上個季度我們給了15%的額外折扣,這季度他們又要求20%。如果繼續這樣下去,最終我們會耗盡所有資源,而客戶的胃口只會越來越大」",
2176        emoji: "🪵🔥"
2177    },
2178    "齊人未嘗賂秦,終繼五國遷滅,何哉?與嬴而不助五國也": {
2179        pinyin: "qí rén wèi cháng lù qín, zhōng jì wǔ guó qiān miè, hé zāi? yǔ yíng ér bù zhù wǔ guó yě",
2180        jyutping: "cai4 jan4 mei6 soeng4 lou6 ceon4, zung1 gai3 ng5 gwok3 cin1 mit6, ho4 zoi1? jyu5 jing4 ji4 bat1 zo6 ng5 gwok3 jaa5",
2181        meaning: "齊國沒有賄賂秦國,最終還是跟隨五國覆滅,為何?因為結交秦國而不援助五國",
2182        example: "某行業協會中,幾家中型企業拒絕向壟斷巨頭低頭,堅持公平競爭原則。而另一家企業雖然表面上也反對壟斷,卻暗中與巨頭達成協議分享市場。當那幾家堅持原則的企業被擠出市場後,這家騎牆企業也很快被巨頭併購。協會主席在總結時說:「袖手旁觀者最終也難逃厄運,因為當盟友都倒下後,你將孤立無援」",
2183        emoji: "🧩🔗"
2184    },
2185    "燕趙之君,始有遠略,能守其土,義不賂秦": {
2186        pinyin: "yān zhào zhī jūn, shǐ yǒu yuǎn lüè, néng shǒu qí tǔ, yì bù lù qín",
2187        jyutping: "jin1 ziu6 zi1 gwan1, ci2 jau5 jyun5 loek6, nang4 sau2 kei4 tou2, ji6 bat1 lou6 ceon4",
2188        meaning: "燕國和趙國的國君,起初有長遠謀略,能守住國土,堅持道義不賄賂秦國",
2189        example: "在互聯網巨頭紛紛收購小型創新公司的浪潮中,張總堅持獨立發展自己的安全軟件公司,拒絕多家巨頭拋出的橄欖枝。董事會質疑時,他堅定地說:「短期內或許會失去一些資源和機會,但保持技術獨立性和產品自主權,才是公司長遠發展的根本。一旦失去核心技術控制權,我們就會淪為他人嫁衣」",
2190        emoji: "👑🛡️"
2191    },
2192    "燕雖小國而後亡,斯用兵之效也": {
2193        pinyin: "yān suī xiǎo guó ér hòu wáng, sī yòng bīng zhī xiào yě",
2194        jyutping: "jin1 seoi1 siu2 gwok3 ji4 hau6 wong4, si1 jung6 bing1 zi1 haau6 jaa5",
2195        meaning: "燕國雖是小國卻後來才滅亡,這是用兵抵抗的效果",
2196        example: "小型本土咖啡連鎖「晨光咖啡」面對國際巨頭進入市場,堅持走高品質本土特色路線,建立強大的社區忠誠度。當其他本土品牌紛紛倒閉或被收購時,「晨光」仍然屹立不倒。創始人在行業論壇上分享:「雖然我們規模小,資源有限,但堅持走差異化路線,專注本地消費者需求,反而使我們在激烈競爭中存活下來。與其妥協投降,不如找準定位奮力一搏」",
2197        emoji: "🏯⚔️"
2198    },
2199    "趙嘗五戰于秦,二敗而三勝": {
2200        pinyin: "zhào cháng wǔ zhàn yú qín, èr bài ér sān shèng",
2201        jyutping: "ziu6 soeng4 ng5 zin3 jyu1 ceon4, ji6 baai6 ji4 saam1 sing3",
2202        meaning: "趙國曾與秦國交戰五次,兩次失敗三次勝利",
2203        example: "新創企業「科技星」與行業巨頭在五個關鍵專利上展開法律battle,雖然資源懸殊,但憑藉扎實的技術和靈活的策略,在五場訴訟中贏得了三場勝利。CEO在年會上鼓舞團隊:「不要因為對手強大就自我設限,歷史告訴我們,即使面對巨頭,堅持正確的技術路線和法律策略,小公司也能贏得尊嚴和生存空間」",
2204        emoji: "5️⃣🏆"
2205    },
2206    "李牧以讒誅,邯鄲為郡,惜其用武而不終也": {
2207        pinyin: "lǐ mù yǐ chán zhū, hán dān wéi jùn, xī qí yòng wǔ ér bù zhōng yě",
2208        jyutping: "lei5 muk6 ji5 caam4 zyu1, hon4 daan1 wai4 gwan6, sik1 kei4 jung6 mou5 ji4 bat1 zung1 jaa5",
2209        meaning: "李牧因讒言被殺,邯鄲成為秦國的郡,可惜趙國的武力抵抗沒能堅持到底",
2210        example: "科技公司「創新科技」的技術總監王工因反對CEO與競爭對手的妥協政策,被誣陷貪污而解僱。半年後,失去核心技術領導的公司被競爭對手低價收購,原有的創新項目全部被砍。老員工們聚會時感嘆:「如果當初董事會能聽取王工的建議,堅持技術創新路線而不是一味求和,也許公司就不會落得被收購的結局,真是可惜了多年打造的技術優勢最終沒能堅持下去」",
2211        emoji: "🗡️😞"
2212    },
2213    "智力孤危,戰敗而亡,誠不得已": {
2214        pinyin: "zhì lì gū wēi, zhàn bài ér wáng, chéng bù dé yǐ",
2215        jyutping: "zi3 lik6 gu1 ngai4, zin3 baai6 ji4 wong4, sing4 bat1 dak1 ji5",
2216        meaning: "智謀和力量都孤立危急,戰敗而滅亡,確實是不得已的事",
2217        example: "「東方軟件」在市場競爭中最終被收購,創始人李博士在最後的員工大會上解釋道:「我們已經盡了最大努力,但面對競爭對手的價格戰和市場壟斷,我們的資金鏈最終斷裂。在這場不平等的競爭中,我們孤立無援,資源日漸枯竭,最終被迫接受收購實屬無奈之舉。但請相信,我們戰鬥到了最後一刻」",
2218        emoji: "🧠⚠️"
2219    },
2220    "向使三國各愛其地,齊人勿附於秦,刺客不行,良將猶在": {
2221        pinyin: "xiàng shǐ sān guó gè ài qí dì, qí rén wù fù yú qín, cì kè bù xíng, liáng jiàng yóu zài",
2222        jyutping: "hoeng3 si2 saam1 gwok3 gok3 oi3 kei4 dei6, cai4 jan4 mat6 fu6 jyu1 ceon4, ci3 haak3 bat1 hang4, loeng4 zoeng1 jau4 zoi6",
2223        meaning: "假如三國都愛惜自己的國土,齊國不依附秦國,刺客不行刺,良將仍在位",
2224        example: "資深經濟評論家在行業論壇上分析道:「如果當年那三家領先的科技公司能夠保持技術獨立性,不急於變現而出售核心專利;如果那家中型企業不為短期利益與巨頭同流合污;如果行業協會能堅持原則而不是內鬥;如果那些具有遠見的管理者沒有被短視的董事會解僱——也許今天我們就不會面對這樣一個被少數幾家巨頭壟斷的市場格局了」",
2225        emoji: "💞🏡"
2226    },
2227    "則勝負之數,存亡之理,當與秦相較,或未易量": {
2228        pinyin: "zé shèng fù zhī shù, cún wáng zhī lǐ, dāng yǔ qín xiāng jiào, huò wèi yì liàng",
2229        jyutping: "zak1 sing3 fu6 zi1 sou3, cyun4 mong4 zi1 lei5, dong1 jyu5 ceon4 soeng1 gaau3, waak6 mei6 ji6 loeng4",
2230        meaning: "那麼勝負的結果,存亡的道理,與秦國相比較,或許就不那麼容易估量了",
2231        emoji: "⚖️🔮"
2232    },
2233    "以賂秦之地,封天下之謀臣;以事秦之心,禮天下之奇才": {
2234        pinyin: "yǐ lù qín zhī dì, fēng tiān xià zhī móu chén; yǐ shì qín zhī xīn, lǐ tiān xià zhī qí cái",
2235        jyutping: "ji5 lou6 ceon4 zi1 dei6, fung1 tin1 haa6 zi1 mau4 san4; ji5 si6 ceon4 zi1 sam1, lai5 tin1 haa6 zi1 kei4 coi4",
2236        meaning: "用賄賂秦國的土地,封賞天下的謀臣;用侍奉秦國的心,禮遇天下的奇才",
2237        example: "李董事長在企業危機會議上慷慨陳詞:「與其把資源浪費在無謂的價格戰中ï¼
2237Œä¸å¦‚拿這些錢來招攬行業頂尖人才!與其討好競爭對手換取短暫和平,不如用這份誠意爭取客戶和合作夥伴的長期信任!如果我們能把用於妥協的資源轉而投入到人才培養和技術創新上,企業未來的發展將完全不同」",
2238        emoji: "🏅👨‍🔬"
2239    },
2240    "幷力西嚮,則吾恐秦人食之不得下嚥也": {
2241        pinyin: "bìng lì xī xiàng, zé wú kǒng qín rén shí zhī bù dé xià yàn yě",
2242        jyutping: "bing3 lik6 sai1 hoeng3, zak1 ng4 hung2 ceon4 jan4 sik6 zi1 bat1 dak1 haa6 jin3 jaa5",
2243        meaning: "合力向西方用兵,恐怕秦國人連飯都吃不下去",
2244        example: "在行業協會年度大會上,中小企業代表張總發表激情演說:「如果我們十家企業能夠放下分歧,整合研發資源,統一標準,共同對抗巨頭的不公平競爭,那麼即使是那些市值千億的巨頭也會感到壓力。與其各自為戰最終被逐個擊破,不如團結一致共同維護公平競爭環境。只要我們同心協力,巨頭們也會坐立不安」",
2245        emoji: "👥👊"
2246    },
2247    "積威之所劫,日削月割,以趨於亡": {
2248        pinyin: "jī wēi zhī suǒ jié, rì xuē yuè gē, yǐ qū yú wáng",
2249        jyutping: "zik1 wai1 zi1 so2 git3, jat6 soek3 jyut6 got3, ji5 ceoi1 jyu1 mong4",
2250        meaning: "被長期積累的威勢所脅迫,日復一日地割地,最終走向滅亡",
2251        example: "老字號「永興堂」在連鎖巨頭的壓力下,先是關閉了幾家虧損門店,接著縮減了產品線,然後降低了品質標準,最後賤賣了祖傳配方。昔日員工在社交媒體感嘆:「從第一次讓步開始,就走上了不可逆的下坡路。被巨頭長期打壓所形成的恐懼心理,使管理層喪失了抵抗的勇氣,只能一步步退讓,最終失去了百年積累的品牌價值」",
2252        emoji: "⏳✂️"
2253    },
2254    "為國者無使為積威之所劫哉": {
2255        pinyin: "wéi guó zhě wú shǐ wéi jī wēi zhī suǒ jié zāi",
2256        jyutping: "wai4 gwok3 ze2 mou4 si2 wai4 zik1 wai1 zi1 so2 git3 zoi1",
2257        meaning: "治理國家的人切勿被長期積累的威勢所脅迫啊",
2258        example: "資深企業顧問王博士在企業轉型論壇上語重心長地說:「作為企業領導者,最大的敵人不是外部競爭,而是內心的恐懼。許多企業在強敵壓境時,因為害怕風險而不斷退讓,最終失去核心競爭力。真正的商業智慧是在壓力面前保持冷靜判斷,不被對手的氣勢所嚇倒,堅持長期戰略而非短視妥協。歷史證明,那些在危機中堅守原則的企業,往往能夠在逆境中突圍而出」",
2259        emoji: "👑🚫"
2260    },
2261    "夫六國與秦皆諸侯,其勢弱於秦,而猶有可以不賂而勝之之勢": {
2262        pinyin: "fū liù guó yǔ qín jiē zhū hóu, qí shì ruò yú qín, ér yóu yǒu kě yǐ bù lù ér shèng zhī zhī shì",
2263        jyutping: "fu1 luk6 gwok3 jyu5 ceon4 gaai1 zyu1 hau4, kei4 sai3 joek6 jyu1 ceon4, ji4 jau4 jau5 ho2 ji5 bat1 lou6 ji4 sing3 zi1 zi1 sai3",
2264        meaning: "六國和秦國都是諸侯,他們的勢力比秦國弱,但仍然有不賄賂而能戰勝秦國的優勢",
2265        example: "科技創業者李小姐在投資論壇上分享道:「即使我們的創業公司規模遠小於行業巨頭,資金和資源也無法相比,但我們依然有獨特優勢:我們的決策速度更快,對用戶需求的反應更敏捷,團隊更有凝聚力和創新精神。如果我們能保持這些優勢,專注於特定細分市場,並與其他中小企業形成戰略聯盟,就完全有可能在不犧牲獨立性的情況下,在市場中站穩腳跟」",
2266        emoji: "⚔️🌱"
2267    },
2268    "茍以天下之大,而從六國破亡之故事,是又在六國下矣": {
2269        pinyin: "gǒu yǐ tiān xià zhī dà, ér cóng liù guó pò wáng zhī gù shì, shì yòu zài liù guó xià yǐ",
2270        jyutping: "gau2 ji5 tin1 haa6 zi1 daai6, ji4 cung4 luk6 gwok3 po3 mong4 zi1 gu3 si6, si6 jau6 zoi6 lu
2270k6 gwok3 haa6 ji5",
2271        meaning: "如果憑藉天下之大,卻重蹈六國覆滅的覆轍,那就比六國還不如了",
2272        example: "企業家協會會長在年度峰會閉幕式上警告道:「我們這個行業的市場規模是六國時代的百倍,資源更豐富,技術更先進,如果還是重蹈當年各自為戰、互相拆台的覆轍,最終被巨頭各個擊破,那就真是辜負了這個時代給我們的機遇。歷史已經給我們留下了寶貴教訓,如果我們還不能團結一致,那就真的連古人都不如了」",
2273        emoji: "🌍📉"
2274    }
2275},
2276
2277
2278"山居秋暝": {
2279    "空山新雨後": {
2280        pinyin: "kōng shān xīn yǔ hòu",
2281        jyutping: "hung1 saan1 san1 jyu5 hau6",
2282        meaning: "空曠的山野剛下過一場雨",
2283        example: "張先生退休後搬到郊區小屋,每當夏末秋初下過一場雨,他總愛坐在門廊上深呼吸。他對來訪的城市朋友說:「剛下過雨的山間空氣特別清新,帶著泥土和植物的氣息,一呼一吸間彷彿全身的細胞都被洗滌了。這是都市中再昂貴的空氣淨化器都無法替代的感受」",
2284        emoji: "🏔️🌧️"
2285    },
2286    "天氣晚來秋": {
2287        pinyin: "tiān qì wǎn lái qiū",
2288        jyutping: "tin1 hei3 maan5 loi4 cau1",
2289        meaning: "傍晚的天氣已經帶著初秋的涼意",
2290        example: "陳老師每年八月底都會察覺到微妙的季節變化。今天課後,他站在教室窗前感受著傍晚的風,對同事說:「你注意到了嗎?白天還是夏天的炙熱,但傍晚風裡已經有了絲絲涼意。這種若有似無的秋的氣息,總讓我想起開學季的期待和忐忑」",
2291        emoji: "🌆🍂"
2292    },
2293    "明月松間照": {
2294        pinyin: "míng yuè sōng jiān zhào",
2295        jyutping: "ming4 jyut6 cung4 gaan1 ziu3",
2296        meaning: "明亮的月光透過松樹枝葉間照射下來",
2297        example: "退休工程師李先生在郊外建了一座小木屋,特意保留了周圍的松樹林。朋友問他為何不清理出更開闊的視野,他微笑道:「你今晚就知道了」。入夜後,皎潔的月光穿過松林,在地上灑下斑駁的光影。朋友驚嘆道:「這比直接看月亮美多了,那光影交錯的效果,是最高級的自然藝術」",
2298        emoji: "🌕🌲"
2299    },
2300    "清泉石上流": {
2301        pinyin: "qīng quán shí shàng liú",
2302        jyutping: "cing1 cyun4 sek6 soeng5 lau4",
2303        meaning: "清澈的泉水在石頭上流淌",
2304        example: "王女士花重金在別墅庭院打造了一個仿自然溪流的景觀,請來專業設計師擺放每一塊石頭。然而度假回來的丈夫卻說不如山裡的小溪動人。她不解,直到他們週末去野餐,坐在山間小溪旁,聽著水流淙淙聲,看著陽光在水面跳躍。他說:「你看,這清澈的溪水在自然石頭上流淌的樣子,那種毫不刻意的自然之美,是多少錢都買不到的」",
2305        emoji: "💧🪨"
2306    },
2307    "竹喧歸浣女": {
2308        pinyin: "zhú xuān guī huàn nǚ",
2309        jyutping: "zuk1 hyun1 gwai1 waan6 neoi5",
2310        meaning: "竹林中傳來洗衣女子歸來的喧鬧聲",
2311        example: "李奶奶住在鄉下,每到傍晚,總愛坐在竹林邊的小凳上。年輕的孫女不解她為何總去同一地方,直到有天跟去,聽見附近農婦們從溪邊洗完衣服回來的說笑聲,穿過竹林格外清脆悅耳。李奶奶微笑道:「現在的人都用洗衣機了,聽不到這種女人們在溪邊洗衣、互相交談的聲音。這笑聲穿過竹林的感覺,是我兒時最美好的記憶,讓我想起我的母親和鄰居們」",
2312        emoji: "🎋👚"
2313    },
2314    "蓮動下漁舟": {
2315        pinyin: "lián dòng xià yú zhōu",
2316        jyutping: "lin4 dung6 haa6 jyu4 zau1",
2317        meaning: "蓮葉搖動是因為漁船駛過",
2318        example: "張教授退休後愛在湖邊小亭看書,一天傍晚,他被一陣微妙的波動吸引,抬頭看見遠處一位漁夫緩緩划著小船穿過荷花叢。荷葉隨著船行微微起伏,波紋向四周擴散。他放下書,完全沉浸在這畫面中。回家後他對妻子說:「今天我看到的那一幕,勝過任何一本書的內容。那漁舟穿過荷葉的瞬間,是動與靜的完美交融,是千年前的詩人看到的,也是我今天感受到的」",
2319        emoji: "🪷🚣"
2320    },
2321    "隨意春芳歇": {
2322        pinyin: "suí yì chūn fāng xiē",
2323        jyutping: "ceoi4 ji3 ceon1 fong1 hit3",
2324        meaning: "任憑春天的花草凋謝",
2325        example: "退休教師陳先生在山間小屋的花園不像別人那樣精心打理,而是é 
2325†å…¶è‡ªç„¶ã€‚鄰居好奇他為何不為即將凋謝的花朵感到惋惜,他笑著說:「春花謝了,自有夏花開;夏花落了,又有秋菊綻放。每個季節都有它的離去和到來,我學會了不執著於一時的美麗,而是欣賞每個季節特有的風采。這種順應自然的態度,其實也是我面對人生變化的方式」",
2326        emoji: "🌸🥀"
2327    },
2328    "王孫自可留": {
2329        pinyin: "wáng sūn zì kě liú",
2330        jyutping: "wong4 syun1 zi6 ho2 lau4",
2331        meaning: "隱士可以自在地留在山中",
2332        example: "李博士是知名科學家,突然辭去高薪職位回到家鄉小鎮開辦農場,朋友們紛紛勸他回城市發展。五年後,朋友們來訪,見他悠然自得地在田間勞作,晚上賞月談天,臉上煥發著從未有過的光彩。一位朋友感嘆道:「現在我明白你為何堅持留在這裡了。在城市的名利場中,你只是眾多精英中的一員;而在這山水之間,你成為了自己生活的主宰,找到了真正的自由與平靜」",
2333        emoji: "👑🏡"
2334    }
2335},
2336
2337"月下獨酌": {
2338    "花間一壺酒": {
2339        pinyin: "huā jiān yī hú jiǔ",
2340        jyutping: "faa1 gaan1 jat1 wu4 zau2",
2341        meaning: "花叢中擺著一壺美酒",
2342        example: "退休後的陳老師喜歡在自家小院裡種滿花草。每到春暖花開時,他總會在花叢間放一張小桌,擺上一壺自釀的米酒。鄰居問他為何總是獨自一人這樣,他微笑著說:「在都市裡忙碌了一生,如今最享受的是這簡單的時刻—花香、酒香、自在。這一壺酒在花間,是我與自然的對話,比任何社交場合都更讓我心滿意足」",
2343        emoji: "🌸🍶"
2344    },
2345    "獨酌無相親": {
2346        pinyin: "dú zhuó wú xiāng qīn",
2347        jyutping: "duk6 zoek3 mou4 soeng1 can1",
2348        meaning: "獨自飲酒沒有親近的人作伴",
2349        example: "林先生事業有成但離異多年,常獨自在頂樓陽台小酌。朋友擔心他孤獨,頻頻安排相親。一次酒後,他坦言:「許多人害怕孤獨,但我卻在獨處中找到了平靜。獨自品酒時,我能聽見自己的心跳和思緒,這種純粹的時刻反而讓我更能感受生活。並非所有的獨處都是寂寞,有時它是與自己最深刻的對話」",
2350        emoji: "🍷🧍"
2351    },
2352    "舉杯邀明月": {
2353        pinyin: "jǔ bēi yāo míng yuè",
2354        jyutping: "geoi2 bui1 jiu1 ming4 jyut6",
2355        meaning: "舉起酒杯邀請明月作伴",
2356        example: "退休教授張先生每逢中秋,必定獨自一人在院子裡擺一張小桌,月上中天時舉杯對月而飲。學生問他為何多年堅持此習慣,他笑著說:「年輕時忙於研究教學,與家人團聚的時間都很少。如今孩子們遠在海外,每逢佳節,我舉杯邀月作伴,月亮照耀著我,也照耀著他們,這杯酒不僅敬給明月,也敬給遠方的親人,心靈便不再孤單」",
2357        emoji: "🥂🌕"
2358    },
2359    "對影成三人": {
2360        pinyin: "duì yǐng chéng sān rén",
2361        jyutping: "deoi3 jing2 sing4 saam1 jan4",
2362        meaning: "加上自己的影子,湊成了三個人",
2363        example: "獨居的王阿姨退休後熱衷攝影,常獨自外出拍景。一次中秋夜,她在湖邊架好三腳架自拍,照片裡有她、清晰的月影倒映在湖面,還有她自己的身影。朋友看到照片打趣道:「你這不是獨自出遊啊,分明有三個人呢!」她笑著回應:「是啊,有時候獨處並不意味著孤單。月亮和我的影子,就是最忠實的朋友。李白說得好,『對影成三人』,千年前的感受,今天依然共鳴」",
2364        emoji: "👤🌕"
2365    },
2366    "月既不解飲": {
2367        pinyin: "yuè jì bù jiě yǐn",
2368        jyutping: "jyut6 gei3 bat1 gaai2 jam2",
2369        meaning: "月亮不懂得飲酒的樂趣",
2370        example: "陳老先生退休後常在院子裡獨飲,兒女勸他找老友作伴。一次月色特別好,他對來探望的兒子說:「你看那月亮,多美啊,可惜它不會喝酒,不然我就有最好的酒友了。這世上能真正理解飲酒之樂的知己並不多,與其找個不解風情的人強顏歡笑,不如獨自與明月對飲,至少月亮不會說教,只會安靜陪伴」",
2371        emoji: "🌙🚫"
2372    },
2373    "影徒隨我身": {
2374        pinyin: "yǐng tú suí wǒ shēn",
2375        jyutping: "jing2 tou4 ceoi4 ngo5 san1",
2376        meaning: "影子只是徒然地跟隨我的身體",
2377        example: "退休舞蹈家李女士最愛在夜晚的舞蹈室獨自練習。一次深夜,她在月光灑落的地板上緩緩舞動,牆上投下她修長的身影。年輕學生偶然看到這一幕,問她為何獨自跳舞。她微笑道:「你看,我的影子多麼忠實地跟隨我每個動作,卻從不會給予回應。生命中有些人如同影子,形影不離卻ç„
2377¡æ³•真正交流;但我依然珍惜這份無言的陪伴,因為它是我靈魂的外在映照,提醒我無論何時都不是真正孤獨的」",
2378        emoji: "👤➡️"
2379    },
2380    "暫伴月將影": {
2381        pinyin: "zàn bàn yuè jiāng yǐng",
2382        jyutping: "zaam6 bun6 jyut6 zoeng1 jing2",
2383        meaning: "暫時以月亮和影子為伴",
2384        example: "張教授退休後獨居山村,常被學生擔心孤獨。一天黃昏,學生來訪見他獨坐庭院對月小酌,身旁只有被夕陽拉長的身影。學生問他寂寞嗎?他搖頭道:「人生短暫,能與明月和清影為伴已是福氣。月亮千年如一,比人間的聚散更恆久;而影子雖無言,卻是最忠實的同行者。與其執著於人間聚散無常的關係,不如珍惜這份寧靜的陪伴」",
2385        emoji: "🌕👤"
2386    },
2387    "行樂須及春": {
2388        pinyin: "xíng lè xū jí chūn",
2389        jyutping: "hang4 lok6 seoi1 kap6 ceon1",
2390        meaning: "及時行樂必須趁著美好時光",
2391        example: "退休教師王先生被診斷癌症晚期後,令人意外地充滿活力,堅持每天畫畫、旅行、品酒。朋友驚訝他的樂觀,他微笑著說:「生命如春花,燦爛而短暫。我不再為無法改變的事煩惱,而是全心享受當下的美好。醫生給我六個月,我要活出六年的精彩。行樂要趁現在,因為沒有人知道明天的花還會不會開,所以今天的陽光更顯珍貴」",
2392        emoji: "🌼⏱️"
2393    },
2394    "我歌月徘徊": {
2395        pinyin: "wǒ gē yuè pái huái",
2396        jyutping: "ngo5 go1 jyut6 pui4 waai4",
2397        meaning: "我歌唱時,月亮似乎在天空中徘徊",
2398        example: "退休音樂老師李先生住在山村,常在月明之夜獨自在院中歌唱。鄰居偶然經過,聽見他渾厚的歌聲迴盪在山谷間,而皎潔的月光彷彿為他伴奏,遲遲不肯西沉。事後鄰居感嘆道:「那晚的情景令人難忘,你的歌聲與月光交織,月亮似乎被你的歌聲吸引而駐足徘徊。那一刻,天地間彷彿只有你和月亮在對話,而我們都成了偷聽者」",
2399        emoji: "🎵🌙"
2400    },
2401    "我舞影零亂": {
2402        pinyin: "wǒ wǔ yǐng líng luàn",
2403        jyutping: "ngo5 mou5 jing2 ling4 lyun6",
2404        meaning: "我舞動時,影子在地上雜亂搖晃",
2405        example: "退休舞者張女士即使年過七旬,仍堅持每晚在家中練舞。一次明月之夜,她在庭院中隨著心中的音樂翩翩起舞,月光下她的身影在地面上變幻莫測。孫女驚嘆道:「奶奶,你看地上你的影子,跟著你舞動,時而拉長時而縮短,像是好幾個人在跳舞呢!」老人微笑著回答:「生命如同這舞影,看似雜亂無章,實則有其韻律。當我舞動時,影子雖然零亂,卻也是我生命的一部分,忠實記錄著每一個姿態和情感」",
2406        emoji: "💃👥"
2407    },
2408    "醒時同交歡": {
2409        pinyin: "xǐng shí tóng jiāo huān",
2410        jyutping: "sing2 si4 tung4 gaau1 fun1",
2411        meaning: "清醒時與月亮、影子一同歡樂",
2412        example: "退休作家陳先生住在湖邊小屋,常在月夜獨酌。一次酒興大發,他在湖邊舞蹈,看著湖中倒映的月亮和自己的身影隨之擺動,不禁大笑起來。鄰居好奇他一人為何如此開心,他解釋道:「你看,月亮在天上,我的影子在地上,湖中還有我們的倒影,彷彿一群老友聚會。清醒時,我能感受到這種無言的默契和陪伴,這種簡單純粹的快樂,比任何喧鬧的聚會都來得真實」",
2413        emoji: "😊🤝"
2414    },
2415    "醉後各分散": {
2416        pinyin: "zuì hòu gè fēn sàn",
2417        jyutping: "zeoi3 hau6 gok3 fan1 saan3",
2418        meaning: "醉酒後月亮、影子和我各自散去",
2419        example: "王教授退休後常獨自在書房飲酒讀詩。一個月夜,他對月暢飲,醉倒在躺椅上。醒來時已是凌晨,月亮西沉,影子也隨著燈光熄滅而消失。他的日記中寫道:「酒醉人醒時,方知歡聚終有別離。月亮回到了天際,影子隱入了黑暗,我也從幻境回到現實。人生聚散如此,再親密的關係也有各自散去的時刻。但不必悲傷,
2419因為明日月亮仍會升起,影子依舊相隨,生命的歡聚還將繼續」",
2420        emoji: "🥴↔️"
2421    },
2422    "永結無情遊": {
2423        pinyin: "yǒng jié wú qíng yóu",
2424        jyutping: "wing5 git3 mou4 cing4 jau4",
2425        meaning: "永遠結伴作無情感羈絆的遊戲",
2426        example: "張老先生喪偶多年,每到月圓之夜就獨自在院中小酌。兒女勸他尋找伴侶,他卻搖頭笑道:「我已經有了最好的伴侶—明月和身影。它們不會有七情六慾的糾纏,不會有人間的爭吵背叛,卻能日日相伴。這種沒有情感負擔的陪伴,反而最為長久。我與月光、影子的約定,比世間任何誓言都更加恆久,因為它不受情感起伏的影響,是一種超脫世俗的精神相伴」",
2427        emoji: "🔄🎭"
2428    },
2429    "相期邈雲漢": {
2430        pinyin: "xiāng qī miǎo yún hàn",
2431        jyutping: "soeng1 kei4 miu5 wan4 hon6",
2432        meaning: "相約在遙遠的銀河再見",
2433        example: "退休天文學家李教授常在觀測台獨自對月小酌。一次流星雨之夜,學生發現他獨自舉杯對著星空微笑。事後他解釋道:「你們看到的是我一人,但我從未感到孤單。月亮、星辰是我畢生研究的對象,也是我最親密的朋友。我與它們的約定不在塵世,而是在那遙遠的銀河。當我離開這個世界,我的原子將回歸宇宙,與星辰再次相聚。那不是死亡,而是一場跨越時空的重逢」",
2434        emoji: "🌌🤝"
2435    }
2436},
2437
2438"登樓": {
2439    "花近高樓傷客心": {
2440        pinyin: "huā jìn gāo lóu shāng kè xīn",
2441        jyutping: "faa1 gan6 gou1 lau4 soeng1 haak3 sam1",
2442        meaning: "繁華靠近高樓,觸動遊子思鄉之情",
2443        example: "李先生被公司派駐海外五年,雖然住在繁華都市的高級公寓,享有優渥待遇,但每逢節日看見窗外燈火輝煌時,卻更加思念遠方的家人。他在日記中寫道:「站在豪華公寓俯瞰這座不夜城,燈光越璀璨,我的心卻越孤單。繁華與高樓非但沒有撫慰我的心,反而勾起更深的思鄉之情,讓我明白無論身處多麼奢華的環境,沒有親人相伴的繁華,終究只是虛幻的風景」",
2444        emoji: "🌸🏙️"
2445    },
2446    "萬方多難此登臨": {
2447        pinyin: "wàn fāng duō nàn cǐ dēng lín",
2448        jyutping: "maan6 fong1 do1 naan6 ci2 dang1 lam4",
2449        meaning: "天下各處多災多難,我卻在此時登樓遠眺",
2450        example: "退休教師張先生在2020年疫情期間,登上城市觀景台遠眺。看著平日熙熙攘攘的街道此刻空無一人,他拍下照片發給學生們,附言道:「四十年前經歷天災時,我也曾站在高處俯瞰滿目瘡痍的家園;今日疫情肆虐全球,老人家又站在高樓上看著安靜的城市。人生遇到大時代的動盪,有時需要找個高處,才能看清這世界的變化與永恆。正如古人所說『萬方多難此登臨』,困境中的高處觀察,往往能給人更深的啟示」",
2451        emoji: "🌍⛰️"
2452    },
2453    "錦江春色來天地": {
2454        pinyin: "jǐn jiāng chūn sè lái tiān dì",
2455        jyutping: "gam2 gong1 ceon1 sik1 loi4 tin1 dei6",
2456        meaning: "錦江兩岸蓬勃的春天景色鋪天蓋地",
2457        example: "王老師退休後回到家鄉小城,這裡有條蜿蜒的河流穿城而過。一年春天,他帶著城裡來的孫子登上河邊的觀景樓,看著兩岸新綠和盛開的花朵。孫子驚嘆從未見過如此景象,王老師微笑道:「在城市的高樓大廈間,春天只是日曆上的一個標記;但在這裡,春天是一場視覺的盛宴,從河邊一直延伸到遠方的山巒,彷彿整個天地都被春色所覆蓋。人在自然面前才能感受到生命的律動,這是任何科技都無法替代的體驗」",
2458        emoji: "🏞️🌱"
2459    },
2460    "玉壘浮雲變古今": {
2461        pinyin: "yù lěi fú yún biàn gǔ jīn",
2462        jyutping: "juk6 leoi5 fu4 wan4 bin3 gu2 gam1",
2463        meaning: "玉壘山上的浮雲千變萬化,古往今來都是如此",
2464        example: "退休教授陳先生經常帶著孫輩登上城郊的高山觀雲。一次,孫女問他為何如此鍾愛看雲。他指著山間變幻莫測的雲海說:「你看這些雲朵,時而如龍騰虎躍,時而似羊群徜徉,從古至今都是這般變化無常。你的曾祖父、祖父年輕時站在這裡看到的雲,形狀不同但本質相同。人間的興衰更迭、王朝的起落更替,在這自然變化面前,顯得如此滄海一粟。理解了這一點,就能以更平靜的心態面對人生的得失」",
2465        emoji: "☁️🏔️"
2466    },
2467    "北極朝廷終不改": {
2468        pinyin: "běi jí cháo tíng zhōng bù gǎi",
2469        jyutping: "bak1 gik6 ciu4 ting4 zung1 bat1 goi2",
2470        meaning: "北極星象徵的朝廷政權終究不會改變",
2471        example: "老黨員李伯伯在建國七十週年紀念日登上社區最高樓è
2471§€çœ‹ç…™èŠ±ã€‚çœ‹è‘—ç’€ç’¨çš„å¤œç©ºï¼Œä»–å°å­«å­èªªï¼šã€Œæˆ‘ç¶“æ­·éŽåœ‹å®¶æœ€è‰±é›£çš„æ­²æœˆï¼Œä¹Ÿè¦‹è­‰äº†æœ€è¼ç…Œçš„ç™¼å±•ã€‚æ”¿æ¬Šå¦‚åŒ—æ¥µæ˜Ÿï¼Œçœ‹ä¼¼é™é å»æ˜¯èˆªæµ·è€…çš„æŒ‡å¼•ã€‚ç„¡è«–æ™‚ä»£å¦‚ä½•è®Šé·ï¼Œåœ‹å®¶çš„æ ¸å¿ƒåƒ¹å€¼å’Œæ²»åœ‹ç†å¿µå§‹çµ‚å¦‚ä¸€ã€‚æ­£æ˜¯é€™ç¨®å …å®šä¸ç§»çš„æ–¹å‘æ„Ÿï¼Œæ‰è®“æˆ‘å€‘çš„æ°‘æ—æ­·ç¶“æŒ«æŠ˜è€Œä¸å€’ã€‚å¹´è¼•äººè¦è¨˜ä½ï¼Œç¹è¯èƒŒå¾Œæ˜¯ç„¡æ•¸äººçš„å …å®ˆå’Œä¿¡å¿µã€",
2472        emoji: "⭐🏛️"
2473    },
2474    "西山寇盜莫相侵": {
2475        pinyin: "xī shān kòu dào mò xiāng qīn",
2476        jyutping: "sai1 saan1 kau3 dou6 mok6 soeng1 jam1",
2477        meaning: "希望西方的入侵者不要前來侵擾",
2478        example: "退休邊防軍官張上校常帶孫子去山頂俯瞰邊境線。一次,他指著遠處的山脈,嚴肅地說:「孩子,七十年前,敵人就是從那座山翻過來侵略我們的家園。你爺爺當年就是在那裡阻擊他們的。如今我們國家強大了,但安全意識不能放鬆。和平必須靠實力維護,否則歷史的悲劇隨時可能重演。希望我們的邊境永遠寧靜,不再有外敵入侵,但這需要一代又一代人的警惕和守護」",
2479        emoji: "🏔️🛡️"
2480    },
2481    "可憐後主還祠廟": {
2482        pinyin: "kě lián hòu zhǔ hái cí miào",
2483        jyutping: "ho2 lin4 hau6 zyu2 waan4 ci4 miu6",
2484        meaning: "可嘆蜀後主劉禪那樣的昏君,仍被供奉於祠堂",
2485        example: "退休歷史老師王先生參觀某地方歷史博物館,看到一位治績平庸卻被當地奉為英雄的古代官員塑像。他對隨行的學生嘆道:「歷史評價有時很吊詭。這位官員在任時只是勉強守成,甚至有貪腐紀錄,卻因為一些表面功夫被後人過度美化。真正的歷史學習不是盲目崇拜,而是客觀評價。有些被高度歌頌的人物,可能經不起歷史的檢驗;而有些默默貢獻的無名英雄,卻湮沒在歲月長河中。這就是為何我們要學習真實的歷史,而非人為粉飾的神話」",
2486        emoji: "👑🏮"
2487    },
2488    "日暮聊為梁甫吟": {
2489        pinyin: "rì mù liáo wéi liáng fǔ yín",
2490        jyutping: "jat6 mou6 liu4 wai4 loeng4 fu2 jam4",
2491        meaning: "黃昏時姑且吟誦《梁甫吟》表達感慨",
2492        example: "退休文學教授陳先生每天傍晚都會登上社區的觀景台,看著夕陽西下時吟誦古詩。一位年輕鄰居好奇他的習慣,陳教授解釋道:「年輕時為生活奔波,很少有時間靜下心來感受詩詞的美。如今歲月靜好,在每日落日時分誦讀古人的感懷,仿佛能與千年前的靈魂對話。特別是那些懷才不遇、壯志難酬的詩句,更讓我對自己的人生有了新的理解。黃昏不只是一天的結束,也是回顧和思考的最佳時刻。在詩詞的意境中,我找到了安放歲月的方式」",
2493        emoji: "🌆📜"
2494    }
2495},
2496
2497"青玉案‧元夕": {
2498    "東風夜放花千樹": {
2499        pinyin: "dōng fēng yè fàng huā qiān shù",
2500        jyutping: "dung1 fung1 je6 fong3 faa1 cin1 syu6",
2501        meaning: "春風之夜綻放出千樹繁花",
2502        example: "李先生帶五歲孫女第一次看城市跨年煙火。當夜空突然綻放出滿天的煙花,小女孩驚訝得張大嘴巴,眼中映著五彩斑斕的光芒。回家後,她興奮地告訴媽媽:「天空開花了!好多好多的花!」李先生笑著解釋:「是啊,這就是古人說的『東風夜放花千樹』,煙花在夜空如萬花盛開,雖然科技變了,但人們對美的震撼卻始終相同」",
2503        emoji: "🌸🎆"
2504    },
2505    "更吹落、星如雨": {
2506        pinyin: "gèng chuī luò, xīng rú yǔ",
2507        jyutping: "gang3 ceoi1 lok6, sing1 jyu4 jyu5",
2508        meaning: "更有花紛紛落下,如同星星般的雨",
2509        example: "張教授帶外國學生觀看春節煙火晚會,當高空煙花爆開後,無數金色火花緩緩落下,照亮了整片夜空和下方的人群。一位學生驚嘆道:「這就像是星星墜落成雨!」張教授點頭微笑:「你的形容很像800年前中國詩人的詞句,他說『更吹落、星如雨』,描述的正是煙花落下如繁星雨灑的景象。文化雖隔千年,人類對美的感受卻出奇相似」",
2510        emoji: "✨🌧️"
2511    },
2512    "寶馬雕車香滿路": {
2513        pinyin: "bǎo mǎ diāo chē xiāng mǎn lù",
2514        jyutping: "bou2 maa5 diu1 ce1 hoeng1 mun5 lou6",
2515        meaning: "華麗的馬車經過,留下一路香氣",
2516        example: "六十歲的陳先生站在北京王府井商業區ï¼
2516Œçœ‹è‘—一輛輛豪車緩緩駛過,車內人物衣著光鮮,香水味道在空氣中飄散。他對同行的兒子感嘆:「三十年前,這條街上最多的是自行車,如今卻是豪車雲集。雖然馬車變成了汽車,但人們展示身份和地位的心理卻沒變。辛棄疾筆下的『寶馬雕車香滿路』,在現代城市依然上演,只是形式變了而已」",
2517        emoji: "🐴🚗"
2518    },
2519    "鳳簫聲動": {
2520        pinyin: "fèng xiāo shēng dòng",
2521        jyutping: "fung6 siu1 sing1 dung6",
2522        meaning: "悠揚的鳳簫聲四處繚繞",
2523        example: "王奶奶帶孫子參加元宵節廟會,各種傳統樂器的聲音交織在一起,特別是笛子的清亮聲調在夜空中迴盪。小孫子好奇地問:「為什麼這個笛子的聲音能傳這麼遠?」王奶奶微笑著解釋:「這就像古人描述的『鳳簫聲動』,笛聲如同鳳凰的鳴叫,能穿透人群傳到遠方。在沒有電子擴音器的年代,這樣的樂聲就是節日裡最美妙的聲音,能把節日的氣氛帶到每個角落」",
2524        emoji: "🎵🎺"
2525    },
2526    "玉壺光轉": {
2527        pinyin: "yù hú guāng zhuǎn",
2528        jyutping: "juk6 wu4 gwong1 zyun2",
2529        meaning: "月光流轉",
2530        example: "退休教師李老師與老伴在元宵節夜晚散步,皎潔的圓月高掛天空,隨著他們的移動,月光似乎也在流動。李老師指著月亮對老伴說:「你看,月亮跟著我們走ï¼
2530Œé€™å°±æ˜¯å¤äººæ‰€èªªçš„『玉壺光轉』。月亮如同玉壺般潔白明亮,隨著我們的腳步而轉動。這麼多年過去了,我們已經白髮蒼蒼,但每年元宵的月亮依然如昔,見證了我們一路的相守」",
2531        emoji: "🌕✨"
2532    },
2533    "一夜魚龍舞": {
2534        pinyin: "yī yè yú lóng wǔ",
2535        jyutping: "jat1 je6 jyu4 lung4 mou5",
2536        meaning: "一整夜魚龍形狀的花燈在起舞",
2537        example: "張爺爺帶著小孫子參加城市元宵燈會,五顏六色的魚形、龍形燈籠在夜色中隨人群起伏,尤其是長長的龍燈在表演者手中翻騰舞動,引得孩子們驚呼連連。孫子興奮地問:「爺爺,為什麼燈籠要做成魚和龍的樣子?」張爺爺笑著回答:「這是我們的傳統,魚代表年年有餘,龍代表吉祥如意。古人說『一夜魚龍舞』,形容的就是像今晚這樣熱鬧的場景。幾百年來,我們的祖先都是這樣慶祝元宵的,今天我們也成為了這傳統的一部分」",
2538        emoji: "🐉🐟"
2539    },
2540    "蛾兒雪柳黃金縷": {
2541        pinyin: "é ér xuě liǔ huáng jīn lǚ",
2542        jyutping: "ngo4 ji4 syut3 lau5 wong4 gam1 leoi5",
2543        meaning: "女子頭上戴著精美的蛾形、柳形和金線製成的裝飾",
2544        example: "李奶奶帶著孫女參加傳統文化節,欣賞古裝表演。一群年輕女演員頭上戴著精緻的金色髮飾,在燈光下閃閃發光。孫女驚嘆道:「奶奶,她們頭上的裝飾好漂亮!」李奶奶微笑著解釋:「在古代,元宵節是女子難得出門的日子,她們會精心打扮,頭上戴各種精美髮飾,有蛾形的、柳葉形的,還有金線編織的。辛棄疾的詞『蛾兒雪柳黃金縷』描述的就是這種場景。雖然時代變了,但愛美之心千年不變,現在你戴的髮夾和古代少女的裝飾,本質上是一樣的」",
2545        emoji: "👸✨"
2546    },
2547    "笑語盈盈暗香去": {
2548        pinyin: "xiào yǔ yíng yíng àn xiāng qù",
2549        jyutping: "siu3 jyu5 jing4 jing4 am3 hoeng1 heoi3",
2550        meaning: "女子含笑交談,身上的香氣隨她離去而飄散",
2551        example: "王教授在元宵文化展上,看到一群穿著漢服的年輕女孩邊走邊笑,她們身上淡雅的香氣在人群中若隱若現。他對學生感嘆道:「看,這些女孩談笑間留下的身影和香氣,正是古人所描繪的『笑語盈盈暗香去』。古代元宵節,年輕女子難得出門,她們的笑聲和香氣對當時的文人來說是多麼珍貴的記憶。今天我們的生活方式變了,但人與人之間那種轉瞬即逝的美好互動,依然是生活中最動人的風景」",
2552        emoji: "😊🌸"
2553    },
2554    "眾裏尋他千百度": {
2555        pinyin: "zhòng lǐ xún tā qiān bǎi dù",
2556        jyutping: "zung3 lei5 cam4 taa1 cin1 baak3 dou6",
2557        meaning: "在人群中尋找那個人上百次",
2558        example: "陳先生和妻子約好在擁擠的跨年晚會後在地標建築前集合,但人潮洶湧,他們失散了。陳先生焦急地在人群中來回尋找,手機又沒有信號。他穿梭在人海中,一次次以為看到她又失望。兩小時後,他疲憊地坐在一個角落休息,突然收到朋友發來的照片,妻子正在等他。他感慨地對朋友說:「今晚我才真正體會到『眾裏尋他千百度』的感受,在茫茫人海中尋找一個人的焦慮和期盼,古人的情感穿越時空,與現代人產生共鳴」",
2559        emoji: "🔍👫"
2560    },
2561    "驀然迴首": {
2562        pinyin: "mò rán huí shǒu",
2563        jyutping: "mak6 jin4 wui4 sau2",
2564        meaning: "突然回頭",
2565        example: "林先生畢業二十年後參加校友會,會場人頭攢動,他一直在尋找大學時暗戀卻未曾表白的女同學。失望之際,他準備離開,在門口突然聽到有人叫他名字,回頭一看,竟是朝思暮想的她,比記憶中更加成熟優雅。這一刻,他恍然大悟:「二十年來,我在各種場合尋找與她相似的身影,卻總是失望而歸。而今天,就在我不經意回頭的瞬間,她卻真實地出現了。辛棄疾的『驀然迴首』寫的大概就是這種命中注定的驚喜吧」",
2566        emoji: "😲↩️"
2567    },
2568    "那人卻在、燈火闌珊處": {
2569        pinyin: "nà rén què zài, dēng huǒ lán shān chù",
2570        jyutping: "naa6 jan4 koek3 zoi6, dang1 fo2 laan4 saan1 cyu3",
2571        meaning: "那個人卻在燈光稀疏暗淡的地方",
2572        example: "退休教授王先生參加大學同學聚會,尋找多年未見的初戀情人。熱鬧的宴會廳裡,他穿梭於觥籌交錯間,卻始終未能尋見那熟悉的身影。活動結束時,大部分人已離去,燈光也暗了許多。當他失望地準備離開時,突然注意到角落裡一個安靜的身影——正是日思夜想的她,獨自一人在收拾自己帶來的相冊。那一刻,他感慨萬千:「人生多少次錯過,往往是因為我們只在喧囂處尋找,卻忽略了那些安靜角落。正如辛棄疾所寫『那人卻在、燈火闌珊處』,真正重要的人或事,常常不在聚光燈下,而在那些容易被忽略的地方靜靜等待著」",
2573        emoji: "👤🏮"
2574    }
2575},
2576
2577"聲聲慢": {
2578    "尋尋覓覓": {
2579        pinyin: "xún xún mì mì",
2580        jyutping: "cam4 cam4 mik6 mik6",
2581        meaning: "反覆尋找,不停搜尋",
2582        example: "退休後的張先生搬回老家,卻發現兒時熟悉的一切都已改變。他常在巷弄間徘徊,希望找到童年的記憶。鄰居常看見他在舊市場、老校園附近來回走動,目光中帶著迷惘。一次偶遇,他感嘆道:「這幾個月來,我一直在尋尋覓覓童年的影子,卻發現時光早已將它們帶走。那些記憶中的窄巷、老樹、小店都不復存在,只留下我這個老人在原地打轉,找尋再也回不去的過去」",
2583        emoji: "🔍👀"
2584    },
2585    "冷冷清清": {
2586        pinyin: "lěng lěng qīng qīng",
2587        jyutping: "laang5 laang5 cing1 cing1",
2588        meaning: "非常冷清,寂寞無人",
2589        example: "王女士離婚後獨居在曾與前夫同住的公寓。週末夜晚,窗外城市燈火通明,人們歡聲笑語,而她的房間只開著一盞小燈。好友來訪,見她一人靜坐窗前,關切地問:「還好嗎?」她望著窗外說:「曾經熱鬧的家,如今冷冷清清。最難熬的不是孤獨,而是熟悉的空間裡突然少了一個人的聲音,那種寂靜更顯空洞。我知道生活會繼續,但適應這份冷清,需要比我想像中更多的時間」",
2590        emoji: "❄️🏡"
2591    },
2592    "悽悽慘慘戚戚": {
2593        pinyin: "qī qī cǎn cǎn qī qī",
2594        jyutping: "cai1 cai1 caam2 caam2 cik1 cik1",
2595        meaning: "形容極度悲傷淒慘的情緒",
2596        example: "陳老師退休後獨自照顧患有重度失智症的妻子。一天,老友拜訪時看到他憔悴的面容和凌亂的家,忍不住問他過得如何。陳老師疲憊地說:「三十年的愛人,如今卻不認得我,每天叫我『那個陌生人』。看著她日漸消逝的記憶和意識,卻無能為力,那種心痛難以言喻。白天強打精神照顧她,夜晚獨自流淚。這不只是悲傷,而是一種靈魂深處的撕裂,看著摯愛一點點離去,卻連道別都無法完整」",
2597        emoji: "😢💔"
2598    },
2599    "乍煖還寒時候": {
2600        pinyin: "zhà nuǎn hái hán shí hòu",
2601        jyutping: "zaa3 nyun5 waan4 hon4 si4 hau6",
2602        meaning: "忽然暖和又變冷的時節",
2603        example: "李奶奶年過七十,關節炎在早春時節特別難熬。一天,她在公園曬太陽,突然天色轉陰,寒風驟起。鄰居幫她披上外套時,她感嘆道:「這忽暖忽寒的日子最難捱,就像人生的起伏。前一刻陽光明媚,讓你放鬆警惕;下一刻寒風刺骨,打得你措手不及。我這老骨頭經不起這樣的折騰,就像心情經不起大起大落。這『乍暖還寒』的天氣,最考驗人的耐心和身體」",
2604        emoji: "🌡️❄️"
2605    },
2606    "最難將息": {
2607        pinyin: "zuì nán jiāng xī",
2608        jyutping: "zeoi3 naan4 zoeng1 sik1",
2609        meaning: "最難以休養生息",
2610        example: "王先生是中小企業老闆,近年來經濟環境動盪,他的公司處於微利狀態。一位老友見他憔悴不堪,勸他休息調養,王先生無奈地說:「這種時候最難歇息啊!市場不穩,上有老下有小,三十多個員工的生計都壓在我肩上。白天要穩住軍心,晚上輾轉難眠思考對策。就像在風口浪尖上行船,不能有片刻鬆懈。說是『將息』,其實連喘氣的時間都沒有,這種內外交困的處境,才真正體會到古人所說的『最難將息』」",
2611        emoji: "😩💤"
2612    },
2613    "三杯兩盞淡酒": {
2614        pinyin: "sān bēi liǎng zhǎn dàn jiǔ",
2615        jyutping: "saam1 bui1 loeng5 zaan2 daam6 zau2",
2616        meaning: "幾杯清淡的酒",
2617        example: "退休教師李先生獨居多年,每到秋夜總會獨自在陽台擺一小å£
2617ºé»ƒé…’,慢慢品味。老同事來訪,看他這樣,問是否覺得孤獨。李先生搖頭微笑:「這三杯兩盞淡酒,是我與歲月的對話。年輕時總愛熱鬧,如今卻享受這份清淡。酒不在烈,情在酒中。這幾杯薄酒,足以溫暖我的秋夜,讓我在寧靜中回想過往,思考未來。人到晚年,才明白生活如這淡酒,平淡中有濃情,簡單中有深味」",
2618        emoji: "🍶🥂"
2619    },
2620    "怎敵他,晚來風急": {
2621        pinyin: "zěn dí tā, wǎn lái fēng jí",
2622        jyutping: "zam2 dik6 taa1, maan5 loi4 fung1 gap1",
2623        meaning: "怎能抵擋黃昏時刻急促的寒風",
2624        example: "陳奶奶住在沿海小鎮,丈夫去世後獨自生活。每到深秋,當夕陽西沉,海風變得格外刺骨。一天,鄰居看她在院子裡艱難地收衣服,趕緊幫忙。陳奶奶感嘆道:「年輕時不懂,現在才明白李清照為何寫『怎敵他,晚來風急』。這傍晚的風不只是冷,還夾帶著一種讓人措手不及的孤寂。白天還好,有陽光和人聲,可一到傍晚,這風就帶走了所有溫暖,留下我一個人面對空蕩的屋子。幾杯熱茶暖不了身,更暖不了心啊」",
2625        emoji: "🌬️🌆"
2626    },
2627    "雁過也,正傷心": {
2628        pinyin: "yàn guò yě, zhèng shāng xīn",
2629        jyutping: "ngaan6 gwo3 jaa5, zing3 soeng1 sam1",
2630        meaning: "大雁飛過,更讓人感到傷心",
2631        example: "退休教師王先生在妻子去世週年時,獨自一人去他們常去的湖邊散步。恰逢秋季,一群大雁排成「人」字形飛過湖面。這景象突然勾起他與妻子一起賞雁的回憶,淚水不禁奪眶而出。回家後,他在日記中寫道:「今天看到雁群南飛,本是尋常景象,卻讓我心如刀割。去年此時,是我們最後一次一起看雁。如今雁依舊,人已去,熟悉的畫面少了熟悉的人,反而成了最深的傷痛。李清照說『雁過也,正傷心』,大概就是這種感受吧,那些本該共同見證的美好,變成了我一個人的哀思」",
2632        emoji: "🦢💔"
2633    },
2634    "卻是舊時相識": {
2635        pinyin: "què shì jiù shí xiāng shí",
2636        jyutping: "koek3 si6 gau6 si4 soeng1 sik1",
2637        meaning: "卻是從前就認識的(故人或故物)",
2638        example: "張教授退休後回到闊別四十年的故鄉。一天清晨,他在村口的老榕樹下遇見一位白髮老人,兩人對視片刻,突然驚呼出對方的名字——竟是兒時的玩伴,如今已是滿頭白髮的老者。兩人相對而泣,張教授後來對兒子說:「那一刻,時光彷彿倒流,眼前這位佝僂老人,曾是與我爬樹捉蟬的頑童。他的眼睛還是從前的神采,只是歲月在我們臉上刻下了太多痕跡。這種『卻是舊時相識』的感受,既欣喜又心酸,彷彿穿越時空與過去相遇,熟悉又陌生」",
2639        emoji: "👴👀"
2640    },
2641    "滿地黃花堆積": {
2642        pinyin: "mǎn dì huáng huā duī jī",
2643        jyutping: "mun5 dei6 wong4 faa1 deoi1 zik1",
2644        meaning: "滿地的黃色花朵堆積",
2645        example: "退休教師李先生最珍愛院子裡的一排銀杏樹。每到深秋,金黃的銀杏葉鋪滿庭院,如同一地黃金。鄰居勸他清掃,他卻喜歡讓落葉自然堆積。一天,他邀請老同事來家中聚會,看著滿地金黃,他感慨道:「這滿地黃花堆積的景象,正是生命的寫照。那些花兒葉子曾經如此鮮活,如今卻安靜地躺在地上,等待成為來年的養分。我們人生不也是如此嗎?年輕時風華正茂,老了就如這落葉,看似凋零,實則是生命的另一種存在方式。我不忍心掃走它們,就像不願輕易告別我的過去」",
2646        emoji: "🍂🌼"
2647    },
2648    "憔悴損,如今有誰堪摘": {
2649        pinyin: "qiáo cuì sǔn, rú jīn yǒu shuí kān zhāi",
2650        jyutping: "ciu1 seoi6 syun2, jyu4 gam1 jau5 seoi4 ham1 zaak6",
2651        meaning: "花已枯萎衰敗,如今有誰願意採摘",
2652        example: "王奶奶退休前是知名花藝師,家中花園曾是社區美談。中風後,她無力打理,花園漸漸荒蕪。一次,老友來訪,看著昔日繁華、如今雜草叢生的花園,王奶奶眼含淚水說:「這些花兒曾經多麼嬌艷,鄰居們常來求幾枝插花,我也樂於分享。如今它們憔悴不堪,哪還有人願意摘取?這園子像極了我,年輕時受人追捧,老了病了就被世界遺忘。李清照說『憔悴損,如今有誰堪摘』,道出了美好事物衰落後的淒涼與無奈」",
2653        emoji: "🥀👵"
2654    },
2655    "守着窗兒,獨自怎生得黑": {
2656        pinyin: "shǒu zhe chuāng ér, dú zì zěn shēng dé hēi",
2657        jyutping: "sau2 zoek6 coeng1 ji4, duk6 zi6 zam2 sang1 dak1 haak1",
2658        meaning: "獨自守在窗前,怎麼熬到天黑",
2659        example: "李婆婆自丈夫去世後獨居,最怕的是漫長的下午和傍晚時分。一個秋日,鄰居陳太太來送湯,發現她靜靜坐在窗前,望著逐漸西沉的太陽,眼神空洞。李婆婆輕聲說:「你知道嗎?我最怕的不是黑夜,而是從白天到黑夜的這段時間。陽光一點點消失,影子一點點拉長,時間像凝固了一樣慢。五十年來第一次體會到,原來獨自一人時,等待天黑是如此煎熬。那種感覺,就像李清照寫的『守著窗兒,獨自怎生得黑』,每一分鐘都像一年那麼長」",
2660        emoji: "🪟🌆"
2661    },
2662    "梧桐更兼細雨": {
2663        pinyin: "wú tóng gèng jiān xì yǔ",
2664        jyutping: "ng4 tung4 gang3 gim1 sai3 jyu5",
2665        meaning: "梧桐樹上飄落著細雨",
2666        example: "退休教授張先生在妻子去世後,常獨自在書房工作到深夜。一個秋雨綿綿的夜晚,窗外的梧桐葉被雨滴打落,發出輕微的「沙沙」聲。他放下筆,凝視窗外,對來探望的學生說:「你聽,這梧桐葉上的雨聲,是大自然最精巧的音樂。三十年前,你師母還在時,我們常一起靜聽這聲音。如今只剩我一人,這熟悉的聲音不再是浪漫,而成了思å¿
2666µçš„載體。李清照寫的『梧桐更兼細雨』,道盡了這種景色中的淒美與哀愁。表面上是描寫景物,骨子裡卻是道不盡的孤獨」",
2667        emoji: "🌳🌧️"
2668    },
2669    "到黃昏、點點滴滴": {
2670        pinyin: "dào huáng hūn, diǎn diǎn dī dī",
2671        jyutping: "dou3 wong4 fan1, dim2 dim2 dik1 dik1",
2672        meaning: "到了黃昏時分,雨滴一點一滴地落下",
2673        example: "退休教師王女士喪子後,長期獨居在老房子裡。一個陰雨綿綿的秋日傍晚,她坐在窗前,看著窗外雨滴順著屋簷一滴一滴落下,天色漸暗。老友來訪,見她面色哀傷,輕聲問候。王女士淚眼婆娑地說:「每到這黃昏時分,聽著屋檐的雨滴聲,我就特別想念孩子。那滴滴答答的聲音,像是時光的回音,提醒我又度過了一天的孤獨。李清照說『到黃昏、點點滴滴』,這不只是形容雨聲,更像是描述思念如雨滴般連綿不絕,一點一滴地敲打在心上」",
2674        emoji: "🌆💧"
2675    },
2676    "怎一箇愁字了得": {
2677        pinyin: "zěn yī gè chóu zì liǎo dé",
2678        jyutping: "zam2 jat1 go3 sau4 zi6 liu5 dak1",
2679        meaning: "怎麼用一個「愁」字就能表達盡",
2680        example: "陳教授是文學系退休教師,妻子病逝後,他開始寫一部回憶錄。一天深夜,學生來訪,看見他對著滿桌照片和信件落淚。陳教授抬頭苦笑道:「我嘗試用文字記錄與她四十年的點滴,卻發現所有詞彙都蒼白無力。那種失去摯愛的痛楚,那種半生回憶湧上心頭的複雜情感,那種每見熟悉之物就心如刀割的感受...這一切,用『悲傷』『思念』『痛苦』都無法準確描述。李清照說『怎一個愁字了得』,真是千年前就道破了人類情感的深邃與語言的侷限。有些情感,只有經歷過的人才能體會,卻無法用任何詞彙完整表達」",
2681        emoji: "😔📝"
2682    }
2683},
2684
2685"念奴嬌‧赤壁懷古": {
2686    "大江東去": {
2687        pinyin: "dà jiāng dōng qù",
2688        jyutping: "daai6 gong1 dung1 heoi3",
2689        meaning: "滾滾長江向東方流去",
2690        example: "退休教師李先生帶孫子首次參觀長江三峽,站在高處眺望滔滔江水奔騰向東。孫子驚嘆於江水的浩瀚,李先生感慨道:「看這大江東去,幾千年來從未停歇,見證了多少王朝更替、人事變遷。我小時候站在這裡,和你爸爸一樣驚嘆;如今帶你來,江水依舊滾滾向前。人的一生轉瞬即逝,唯有這江水生生不息,這就是歷史的長河,比我們所有人都要長久」",
2691        emoji: "🌊➡️"
2692    },
2693    "浪淘盡、千古風流人物": {
2694        pinyin: "làng táo jìn, qiān gǔ fēng liú rén wù",
2695        jyutping: "long6 tou1 zeon6, cin1 gu2 fung1 lau4 jan4 mat6",
2696        meaning: "江水沖刷淘盡了千百年來的風流人物",
2697        example: "張教授在歷史文物展上駐足良久,看著玻璃櫃中的殘破簡牘和銹跡斑斑的青銅器,對學生感嘆:「這些文物背後的主人,曾經何等顯赫一時,如今卻只剩下這些殘片供我們憑弔。秦皇漢武、唐宗宋祖,那些令人聞風喪膽、俯首稱臣的帝王將相,如今不也都成了歷史書上的幾個段落?時間就像那滔滔江水,無情地沖刷著所有風流人物,再顯赫的人物,最終也難逃被歷史長河淘盡的命運」",
2698        emoji: "🌊👑"
2699    },
2700    "故壘西邊,人道是、三國周郎赤壁": {
2701        pinyin: "gù lěi xī biān, rén dào shì, sān guó zhōu láng chì bì",
2702        jyutping: "gu3 leoi5 sai1 bin1, jan4 dou6 si6, saam1 gwok3 zau1 long4 cek3 bik1",
2703        meaning: "古老營壘的西邊,人們說是三國時周瑜的赤壁之戰遺址",
2704        example: "退休歷史老師王先生帶學生參觀某古戰場遺址,站在殘垣斷壁前,指著西邊的一片土丘說:「相傳這裡就是當年某位名將大敗敵軍之處,但歷史上對此有不同說法。正如蘇軾所寫『故壘西邊,人道是、三國周郎赤壁』,他也是聽當地ä
2704ººèªªé‚£è£¡æ˜¯èµ¤å£å¤æˆ°å ´ã€‚歷史地點往往隨著時間而模糊,真相被傳說覆蓋。這提醒我們,歷史不只存在於確切的地點,更存在於人們的記憶和想像中。無論這是否是真正的古戰場,它已承載了我們對那段歷史的集體記憶」",
2705        emoji: "🏚️🏹"
2706    },
2707    "亂石穿空,驚濤拍岸": {
2708        pinyin: "luàn shí chuān kōng, jīng tāo pāi àn",
2709        jyutping: "lyun6 sek6 cyun1 hung1, ging1 tou1 paak3 ngon6",
2710        meaning: "嶙峋怪石直插雲天,驚人的波濤拍打著岸邊",
2711        example: "陳先生帶兒子首次遊覽長江三峽,當輪船駛入峽谷,兩岸懸崖峭壁聳立,江水咆哮拍岸。兒子瞪大眼睛,既驚訝又害怕。陳先生指著窗外說:「看那亂石穿空,驚濤拍岸的壯觀景象!古人蘇軾見到這景色時也同樣震撼。大自然的力量如此磅礴,讓人同時感受到自己的渺小和生命的珍貴。這景色千百年如一日,無論科技如何發達,人類始終無法與大自然的鬼斧神工相比擬。這也是為什麼古人和我們看到同樣的景色,會產生相似的敬畏之心」",
2712        emoji: "🪨🌊"
2713    },
2714    "捲起千堆雪": {
2715        pinyin: "juǎn qǐ qiān duī xuě",
2716        jyutping: "gyun2 hei2 cin1 deoi1 syut3",
2717        meaning: "捲起如千堆白雪般的浪花",
2718        example: "退休船長李大伯帶孫女在海邊散步,恰逢風浪較大,海浪拍打礁石,濺起無數白色浪花。小孫女驚呼:「爺爺,海浪打在石頭上變成了好多雪花!」李大伯微笑著說:「沒錯,古人蘇軾看到這景象時,就形容為『捲起千堆雪』。我年輕時在船上,經歷過無數風浪,每當驚濤拍岸時,那白色的浪花確實像是冬天的雪堆。大自然的奇妙之處,就是能在不同元素間創造相似的美。水可以幻化為雪的模樣,正如我們的生命也能在不同階段展現不同的風采」",
2719        emoji: "🌊❄️"
2720    },
2721    "江山如畫": {
2722        pinyin: "jiāng shān rú huà",
2723        jyutping: "gong1 saan1 jyu4 waa2",
2724        meaning: "江河山川美如畫卷",
2725        example: "退休教師張先生攀登黃山後,在最佳觀景點停下。雲海翻騰,群峰若隱若現,宛如天上仙境。他對同行的老友感嘆:「這真是『江山如畫』啊!我教書四十年,讀過無數描述山水的詩詞,卻從未想過真實的景色竟比詩句更為震撼。如今退休了,終於有時間親眼見證祖國大好河山。看這起伏的山巒,飄渺的雲海,若是古人見到,定會提筆作畫。而我們何其幸運,能站在這裡,親身感受這幅大自然的傑作,這比任何一幅名畫都更值得珍藏在記憶中」",
2726        emoji: "🏞️🖼️"
2727    },
2728    "一時多少豪傑": {
2729        pinyin: "yī shí duō shǎo háo jié",
2730        jyutping: "jat1 si4 do1 siu2 hou4 git6",
2731        meaning: "一個時代湧現出多少英雄豪傑",
2732        example: "退休教授王先生參加大學同學五十週年聚會,看著昔日同窗如今各有成就——有成為科學院院士的,有創辦上市公司的,有擔任政府要職的,還有默默耕耘教育一線的。他舉杯感嘆道:「我們這一屆,真可謂『一時多少豪傑』!回首五十年前,我們都只是懵懂青年,如今各自在不同領域書寫傳奇。時代給了我們機會,我們也不負時代期望。看著你們,我想起蘇軾的名句,覺得我們這代人,無愧於國家和民族的期待,在各自平凡或顯赫的崗位上,共同推動了祖國的前進」",
2733        emoji: "⏱️🦸"
2734    },
2735    "遙想公瑾當年": {
2736        pinyin: "yáo xiǎng gōng jǐn dāng nián",
2737        jyutping: "jiu4 soeng2 gung1 gan2 dong1 nin4",
2738        meaning: "遙遠地想像當年的周瑜(字公瑾)",
2739        example: "退休歷史老師陳先生帶學生參觀赤壁古戰場遺址,站在江邊眺望遠處。夕陽西下,江面波光粼粼。他指著江面說:「同學們,讓我們『遙想公瑾當年』,想像一千八百多年前,年僅三十六歲的周瑜就站在這裡,面對曹操數十萬大軍壓境,臨危不亂,最終以火攻大敗曹
2739軍。歷史的偉大時刻往往發生在平凡的地點,但正是這些時刻改變了歷史進程。我們每個人也許無法像周瑜那樣建立赫赫戰功,但在自己的人生戰場上,同樣需要這種面對挑戰的勇氣和智慧」",
2740        emoji: "🤔🧠"
2741    },
2742    "小喬初嫁了,雄姿英發": {
2743        pinyin: "xiǎo qiáo chū jià le, xióng zī yīng fā",
2744        jyutping: "siu2 kiu4 co1 gaa3 liu5, hung4 zi1 jing1 faat3",
2745        meaning: "小喬剛嫁給周瑜時,他英姿煥發",
2746        example: "李伯伯和王奶奶在金婚慶典上翻看五十年前的婚禮照片。照片中,年輕的李伯伯英俊挺拔,穿著筆挺的軍裝,目光堅定而自信;王奶奶則嬌美動人,羞澀地依偎在丈夫身邊。孫女好奇地問:「爺爺當年真帥啊!」王奶奶眼中含淚,微笑著說:「是啊,那時你爺爺剛從軍校畢業,正是『雄姿英發』的時候,我就像小喬嫁給周瑜一樣,以他為榮。如今五十年過去,歲月在我們臉上刻下皺紋,但每次回看這些照片,我仍能看到當年那個意氣風發的年輕軍官」",
2747        emoji: "👰‍♀️🧑‍✈️"
2748    },
2749    "羽扇綸巾": {
2750        pinyin: "yǔ shàn guān jīn",
2751        jyutping: "jyu5 sin3 gwan1 gan1",
2752        meaning: "手持羽毛扇,頭戴絲綢頭巾",
2753        example: "退休國學教授張先生酷愛傳統文化,夏日常著漢服,手持折扇在公園散步講學。一天,一群大學生慕名前來請教,看見他一身儒雅打扮,不禁驚嘆。張教授微笑道:「古人所謂『羽扇綸巾』,形容的就是這種儒雅風度。周瑜指揮赤壁之戰時,也是這般風度翩翩。現代人追求快節奏生活,常常忘記了慢下來品味文化的美好。我穿這身不是為了標新立異,而是希望在這浮躁的時代,能為傳統文化保留一份雅致。無論時代如何變遷,文化的優雅與智慧永不過時」",
2754        emoji: "🪶👒"
2755    },
2756    "談笑間、檣櫓灰飛煙滅": {
2757        pinyin: "tán xiào jiān, qiáng lǔ huī fēi yān miè",
2758        jyutping: "taam4 siu3 gaan1, zoeng1 lou5 fui1 fei1 jin1 mit6",
2759        meaning: "在談笑之間,敵方的戰船化為灰燼,煙消雲散",
2760        example: "退休軍事專家李將軍受邀在軍校演講,談及現代信息化戰爭。他指出:「今日戰場,指揮官可能在數千公里外的指揮所,通過幾下操作就能精準打擊目標。表面上看,這與古代將軍親臨前線大不相同,但本質是一樣的——都需要冷靜的判斷和果決的行動。蘇軾寫周瑜『談笑間、檣櫓灰飛煙滅』,形容的正是高超的指揮藝術和從容的心態。現代戰爭雖然技術含量更高,但優秀指揮官的素質沒有變——臨危不亂,運籌帷幄。當年周瑜在
2760赤壁指揮火攻,今天的將領在指揮所下達指令,都需要這種從容不迫的大將風範」",
2761        emoji: "💬🔥"
2762    },
2763    "故國神遊": {
2764        pinyin: "gù guó shén yóu",
2765        jyutping: "gu3 gwok3 san4 jau4",
2766        meaning: "在精神上遊歷故國的歷史",
2767        example: "七十歲的張教授是海外遊子,五十年未能回國。一次偶然機會,他在國外博物館看到一個中國古代文物特展。當他站在古老的青銅器和瓷器前,淚水情不自禁地流下。陪同的學生不解,他哽咽著解釋:「此刻我正在『故國神遊』。這些器物承載的不只是藝術,更是我魂牽夢縈的家國記憶。雖然我的身體在海外,但我的靈魂從未離開過祖國。每一件文物都像一把鑰匙,打開我記憶的閘門,讓我回到那片生我養我的土地。對遊子而言,精神的歸鄉有時比身體的歸鄉更為強烈,也更為深刻」",
2768        emoji: "🏯👻"
2769    },
2770    "多情應笑我,早生華髮": {
2771        pinyin: "duō qíng yīng xiào wǒ, zǎo shēng huá fà",
2772        jyutping: "do1 cing4 jing1 siu3 ngo5, zou2 sang1 waa4 faat3",
2773        meaning: "感情豐富的我,因多愁善感而過早長出白髮",
2774        example: "45歲的李教授雖然年富力強,卻已兩鬢斑白。一次同學聚會,老友見狀驚訝不已。李教授苦笑道:「這些白髮都是被學生和論文『氣』出來的。」稍停,他又正色道:「其實,這更多是因為我對教育事業太過投入,對學生成長太過關心。看到優秀學生脫穎而出,我欣喜若狂;看到潛力學生誤入歧途,我徹夜難眠。正如蘇軾所言『多情應笑我,早生華髮』,正是因為情感投入太深,才讓我過早白頭。但我從不後悔,這些白髮是我教育生涯的勳章,是我用心良苦的見證」",
2775        emoji: "❤️👨‍🦳"
2776    },
2777    "人間如夢": {
2778        pinyin: "rén jiān rú mèng",
2779        jyutping: "jan4 gaan1 jyu4 mung6",
2780        meaning: "人世間如同一場夢",
2781        example: "退休教授王先生在八十歲生日宴上,環顧四周坐滿的學生和家人,感慨萬千。他端起酒杯說:「八十年歲月,恍如一夢。當年教書時,以為那忙碌的日子漫長難熬;現在回首,卻覺得彈指一揮間。年輕時追求名利,中年時忙於家庭,轉眼已是白髮蒼蒼。看到你們這些孩子,我仿佛又看到了當年的自己。正所謂『人間如夢』,生命短暫如白駒過隙,唯有那些真誠的情感和有意義的事業,才能在夢醒時分給我們帶來慰藉。所以,珍惜當下每一刻,活在真實的情感中,才是對生命最好的尊重」",
2782        emoji: "👨‍👩‍👧‍👦💭"
2783    },
2784    "一尊還酹江月": {
2785        pinyin: "yī zūn hái lèi jiāng yuè",
2786        jyutping: "jat1 zyun1 waan4 lai6 gong1 jyut6",
2787        meaning: "舉起一杯酒敬奠江上的明月",
2788        example: "退休船長李老伯在長江邊的小院定居,每逢中秋,他都會獨自坐在江邊,擺一壺老酒,對著江上明月小酌。鄰居好奇他的習慣,他微笑著解釋:「這是『一尊還酹江月』啊。我在江上漂泊了四十年,月亮是我最忠實的伙伴。如今我老了,不再出航,但每年中秋,我都要與這江月重聚,舉杯相敬。月亮見證了我的青春年華,也陪伴我走向暮年。人生苦短,能與江月結下這份情緣,已是莫大的幸福。無論世事如何變遷,每年此刻,我與明月的約會從未改變」",
2789        emoji: "🍶🌕"
2790    }
2791},
2792
2793
2794"岳陽樓記": {
2795    "政通人和,百廢具興": {
2796        pinyin: "zhèng tōng rén hé, bǎi fèi jù xīng",
2797        jyutping: "zing3 tung1 jan4 wo4, baak3 fai3 geoi6 hing1",
2798        meaning: "政事通達,人民和樂,各種荒廢的事業都興盛起來",
2799        example: "王村長上任之初,村裡積怨已久的水利糾紛終於在他的調解下得到解決,村民間的糾紛減少了,大家齊心協力開始修建村裡期盼已久的新道路和文化中心。老村民李大爺感嘆道:「自從王村長來了,村裡真是『政通人和,百廢具興』啊!過去荒廢的農田都重新開墾起來了,年輕人也不再爭著外出打工,留在村裡發展特色農業。這幾年,我們村的面貌煥然一新,不僅環境變好了,大家的腰包也鼓起來了」",
2800        emoji: "🏛️🌱"
2801    },
2802    "銜遠山,吞長江": {
2803        pinyin: "xián yuǎn shān, tūn cháng jiāng",
2804        jyutping: "haam4 jyun5 saan1, tan1 coeng4 gong1",
2805        meaning: "洞庭湖連接遠方的山脈,吞納長江的流水",
2806        example: "退休地理老師張先生帶著孫子首次登上岳陽樓,遠眺洞庭湖壯闊的景色。小孫子驚嘆道:「爺爺,湖水怎麼看不到邊呢?」張老師指著遠處說:「看那遠處,湖水與遠山相接,與江水相連,這就是古人所說的『銜遠山,吞長江』。正如人生的視野,當你站得足夠高,眼界就會變得開闊,看問題也會更加全面。所以無論做人還是做事,都要像這洞庭湖一樣,有容乃大,兼æ”
2806¶ä¸¦è“„」",
2807        emoji: "🏔️🌊"
2808    },
2809    "浩浩湯湯,橫無際涯": {
2810        pinyin: "hào hào tāng tāng, héng wú jì yá",
2811        jyutping: "hou6 hou6 tong1 tong1, waang4 mou4 zai3 ngaai4",
2812        meaning: "洞庭湖水勢浩瀚洶湧,寬廣無邊",
2813        example: "陳教授退休後第一次乘船遊覽洞庭湖,站在船頭感受微風拂面,望著眼前浩瀚的湖面,不禁對同行的老友感嘆道:「看這湖水,真是『浩浩湯湯,橫無際涯』!我們在教育崗位上忙碌了一生,總是埋頭於自己的小天地,卻忽略了抬頭看看這廣闊的世界。如今退休了,才發現人生和這洞庭湖一樣,本該是如此開闊無垠的。以前總擔心學生的成績,擔心評職稱,現在看來,這些不過是人生大湖中的幾朵小浪花而已」",
2814        emoji: "🌊🔍"
2815    },
2816    "朝暉夕陰,氣象萬千": {
2817        pinyin: "zhāo huī xì yīn, qì xiàng wàn qiān",
2818        jyutping: "ziu1 fai1 zik6 jam1, hei3 zoeng6 maan6 cin1",
2819        meaning: "早晨陽光燦爛,傍晚陰暗沉沉,景象變化萬千",
2820        example: "李攝影師在岳陽樓附近租了小屋,連續一個月每天不同時段拍攝洞庭湖的景色。展覽開幕那天,觀眾們驚嘆於同一地點竟能呈現如此豐富多變的景象。李先生解釋道:「這正是『朝暉夕陰,氣象萬千』的真實寫照。清晨的湖面波光粼粼,正午的湖水碧藍如鏡,黃昏時分暮色蒼茫,暴風雨來臨前烏雲密布...大自然就像人的情緒一樣,永遠變化無常,永不重複。這也提醒我們,生活中的順境逆境都如同這湖面上的陰晴圓缺,我們能做的,不是抱怨變化,而是欣賞每一種景象帶來的獨特美感」",
2821        emoji: "☀️🌥️"
2822    },
2823    "遷客騷人": {
2824        pinyin: "qiān kè sāo rén",
2825        jyutping: "cin1 haak3 sou1 jan4",
2826        meaning: "被貶謫流放的官員和失意的文人雅士",
2827        example: "退休教授王先生在文學講座上談及古代文人的心路歷程時說:「中國古代那些『遷客騷人』,雖然仕途不順,卻往往在逆境中創作出了傳世佳作。我有個學生,畢業後在大公司工作,事業順風順水,卻感到生活索然無味;後來公司裁員,他被迫創業,雖然過程艱辛,卻在困境中發現了人生真正的意義和才華。現代社會太看重所謂的『成功』,而忽略了挫折對人生的價值。那些古代被貶謫的文人,正是在遠離權力中心的地方,反而看清了世事,寫下了動人心弦的作品」",
2828        emoji: "👨‍💼📝"
2829    },
2830    "霪雨霏霏,連月不開": {
2831        pinyin: "yín yǔ fēi fēi, lián yuè bù kāi",
2832        jyutping: "jam4 jyu5 fei1 fei1, lin4 jyut6 bat1 hoi1",
2833        meaning: "綿綿陰雨,好幾個月都不放晴",
2834        example: "李奶奶住在南方一個多雨的小鎮,每年梅雨季節都特別漫長。今年的梅雨期尤其反常,連續下了兩個多月的雨,村裡的路泥濘不堪,曬不乾的衣物發出陣陣霉味。鄰居來訪,見她一臉憂愁,便問怎麼了。李奶奶嘆氣道:「這『霪雨霏霏,連月不開』的天氣,讓人心裡發鬱悶啊!老頭子的風濕病又犯了,孫子的學校運動會一直推遲,家裡的牆壁都開始發霉。這種天氣最考驗人的耐心,彷彿整個世界都被灰色籠罩,連心情都變得潮濕陰冷」",
2835        emoji: "🌧️📅"
2836    },
2837    "陰風怒號,濁浪排空": {
2838        pinyin: "yīn fēng nù háo, zhuó làng pái kōng",
2839        jyutping: "jam1 fung1 nou6 hou4, zuk6 long6 paai4 hung1",
2840        meaning: "陰冷的風猛烈呼嘯,渾濁的浪濤拍打著天空",
2841        example: "老漁民張大爺經歷過洞庭湖無數次風浪,但最難忘的是十年前那場突如其來的湖上風暴。他對年輕漁民講述道:「那天原本風平浪靜,突然天色一變,『陰風怒號,濁浪排空』,狂風卷起的浪頭有兩層樓高,拍在船上像是要把船打碎一般。我當時想,這輩子可能就到此為止了。幸好老天保佑,我們撐過了那場風暴。這就像人生中那些突如其來的危機,看似無法承受,但只要堅持下去,風雨過後必見彩虹。那次經歷讓我明白,無論是湖面還是人生,表面的平靜下總是暗藏著變數,唯有保持警醒和堅韌,才能在風浪中生存」",
2842        emoji: "💨🌊"
2843    },
2844    "去國懷鄉": {
2845        pinyin: "qù guó huái xiāng",
2846        jyutping: "heoi3 gwok3 waai4 hoeng1",
2847        meaning: "離開京城(或國家),懷念故鄉",
2848        example: "張教授在國外大學任教已有二十年,每逢中國傳統節日,他總會在家中擺上應景的食物和裝飾。今年除夕,一位美國同事來訪,看見他家中貼滿春聯、點著紅燭,桌上擺著餃子和魚,不禁好奇。張教授微笑道:「這就是我們中國人所說的『去國懷鄉』。身å
2848œ¨ç•°åœ‹ä»–鄉,内心卻始終牽掛著故土。二十年來,每逢佳節倍思親,這些看似簡單的儀式和食物,是我與遠方家鄉的精神紐帶。你知道嗎,我的孩子雖然在美國長大,卻因為這些年的熏陶,對中國文化產生了濃厚的興趣,現在正在學習中文。這也許就是文化的力量,無論身在何處,心靈深處的根始終連接著故土」",
2849        emoji: "🏙️🧳"
2850    },
2851    "憂讒畏譏": {
2852        pinyin: "yōu chán wèi jī",
2853        jyutping: "jau1 caam4 wai6 gei1",
2854        meaning: "擔心被人誣陷中傷,害怕遭人譏諷嘲笑",
2855        example: "李處長在單位一直兢兢業業,卻因為不善交際,總是獨來獨往。一次部門聚餐,同事們都在談笑風生,只有他默默坐在角落。新來的年輕同事好奇地問他為何總是如此謹慎。李處長苦笑道:「年輕人,你不懂『憂讒畏譏』的滋味。我這個位置,做得好沒人記得,做錯一件事卻會被人議論紛紛。辦公室政治複雜,有些人等著抓你的把柄,有些人喜歡在背後嘲諷。這些年來,我習慣了保持距離,不是不合群,而是怕一句無心的話被人斷章取義。古人說『禍從口出』,在職場中尤其如此。你還年輕,還沒經歷過人情世故的複雜,希望你永遠保持這份單純和熱情」",
2856        emoji: "😟🤐"
2857    },
2858    "滿目蕭然,感極而悲": {
2859        pinyin: "mǎn mù xiāo rán, gǎn jí ér bēi",
2860        jyutping: "mun5 muk6 siu1 jin4, gam2 gik6 ji4 bei1",
2861        meaning: "眼前所見一片蕭條冷清,感觸至深而悲從中來",
2862        example: "退休教師王老師回到闊別四十年的故鄉村落,發現兒時熟悉的一切都已物是人非。昔日熱鬧的村口戲台破敗不堪,童年玩耍的小河已經乾涸,曾經住滿人的村莊如今只剩下幾位老人看守空蕩的屋子。漫步在荒蕪的田地間,王老師不禁淚流滿面。晚上在當地親戚家,他感嘆道:「今天回到故鄉,真是『滿目蕭然,感極而悲』啊!看著這衰敗的村莊,想起兒時的歡聲笑語,恍如隔世。鄉愁不只是對地方的懷念,更是對逝去時光的不捨。我們這一代人,見證了中國農村的巨變,既為城市的發展欣喜,又為消逝的鄉村記憶感到痛心」",
2863        emoji: "👁️😢"
2864    },
2865    "春和景明": {
2866        pinyin: "chūn hé jǐng míng",
2867        jyutping: "ceon1 wo4 ging2 ming4",
2868        meaning: "春天氣候溫和,陽光明媚",
2869        example: "退休的李教授常年獨居,最喜歡每年三月的第一個晴朗周末。這天早晨,他會早早起床,煮一壺龍井,搬把藤椅到院子裡,享受早春的陽光。鄰居看到他悠然自得的樣子,問他為何如此愜意。李教授笑著說:「這『春和景明』的日子最是珍貴啊!冬天的寒冷剛剛過去,夏天的炎熱還未到來,這短暫的完美時刻,就像人生中那些難得的平衡時光。年輕時忙於事業,無暇欣賞;老了才懂得珍惜這樣的日子。你看那新發的嫩芽,聽那初返的鳥鳴,感受這溫煦的陽光,大自然在告訴我們,生命總會有新的開始,不管經歷了多麼嚴酷的冬天」",
2870        emoji: "🌸☀️"
2871    },
2872    "波瀾不驚": {
2873        pinyin: "bō lán bù jīng",
2874        jyutping: "bo1 laan4 bat1 ging1",
2875        meaning: "湖面風平浪靜,沒有波濤",
2876        example: "退休船長張大爺陪孫子在湖邊垂釣,湖面平靜如鏡,倒映著藍天白雲。孫子問他是否見過大風浪,張大爺笑著說:「爺爺年輕時在遠洋貨輪上工作,經歷過十級風浪,那種天地間只有無盡巨浪的感覺,你無法想像。但說來奇怪,現在我反而更喜歡這種『波瀾不驚』的寧靜湖面。人到晚年,才懂得平靜的珍貴。年輕時總想著征服風浪,證明自己的勇氣;老了才明白,真正的智慧是欣賞平靜,珍惜平凡。這平靜的湖面下有著豐富的生命,就像表面平淡的生活中,其實蘊含著深刻的意義」",
2877        emoji: "🌊🪞"
2878    },
2879    "上下天光,一碧萬頃": {
2880        pinyin: "shàng xià tiān guāng, yī bì wàn qǐng",
2881        jyutping: "soeng6 haa6 tin1 gwong1, jat1 bik1 maan6 hing2",
2882        meaning: "上下天空之光,一片碧綠延伸萬頃",
2883        example: "退休教師李先生帶著城市長大的孫子首次來到青海湖旅遊。當車子翻過最後一座山,廣闊的湖面突然映入眼簾,湖水與天空的藍色渾然一體,分不清天地界限。孫子驚呼:「爺爺,怎麼分不清哪裡是天,哪裡是水啊?」李先生微笑著解釋:「這就是古人所說的『上下天光,一碧萬頃』。城市生活讓我們習慣了被高樓大廈分割的視野,忘記了世界本來的樣子。你知道嗎?我們的祖先面對這樣的景色,感受到的是天人合一的境界,是人與自然的和諧統一。現代人常常迷失在虛擬世界和都市叢林中,而忘記了與自然相處的智慧。希望這次旅行能讓你記住這片無邊無際的蔚藍,它會在你未來遇到困惑時,給你開闊的視野和豁達的心境」",
2884        emoji: "🌌🏞️"
2885    },
2886    "沙鷗翔集,錦鱗游泳": {
2887        pinyin: "shā ōu xiáng jí, jǐn lín yóu yǒng",
2888        jyutping: "saa1 au1 coeng4 zaap6, gam2 lam4 jau4 wing6",
2889        meaning: "沙洲上海鷗飛舞聚集,水中美麗的魚兒游來游去",
2890        example: "退休生物老師陳先生最愛帶著望遠鏡到城郊的濕地公園觀鳥。有一次,他帶著對生態攝影感興趣的外孫一同前往。湖邊沙洲上,成群的海鷗正在棲息、覓食;清澈的淺水區,各色魚兒穿梭游弋。外孫忙著拍照,陳先生靜靜欣賞著這一切,感嘆道:「這『沙鷗翔集,錦鱗游泳』的畫面,正是生態平衡的完美展現。我教書四十年,課本上的知識再多,也比不上讓學生親眼目睹這自然和諧的場景。可惜現在這樣的環境越來越少了。你知道嗎?這片濕地十年前險些被填平建商場,是環保志願者們的努力才保留下來。人與自然和諧相處,不是一句空話,而是需要我們每個人實際行動去守護的。希望你的鏡頭不只記
2890錄美景,也能喚起更多人對自然的珍視」",
2891        emoji: "🐦🐠"
2892    },
2893    "岸芷汀蘭,郁郁青青": {
2894        pinyin: "àn zhǐ tīng lán, yù yù qīng qīng",
2895        jyutping: "ngon6 zi2 ting1 laan4, juk1 juk1 cing1 cing1",
2896        meaning: "岸邊的芷草和淺灘上的蘭花,茂盛鬱鬱蔥蔥",
2897        example: "退休園藝師張先生在近郊租了塊小地,精心建造了一個水草園,種植各種水邊植物。一天,他請老同事來參觀,帶他們沿著精心設計的小徑漫步。池邊青翠的水草隨風搖曳,淺水區的水生花卉競相綻放。老同事讚嘆道:「這哪是園子,簡直是一幅活的中國畫!」張先生撫摸著一叢水草,滿臉柔和地說:「這就是我心目中的『岸芷汀蘭,郁郁青青』。都市化讓我們忘記了這些古老的鄉土植物,它們默默無聞,卻有著頑強的生命力。我退休後最大的願望,就是復原一方淨土,讓這些伴隨中國人千年的植物有個家。生活在鋼筋水泥中久了,人容易忘記自己與土地的聯繫。希望這個小園子能幫助人們找回那種聯繫,就像它幫助我尋回了內心的寧靜」",
2898        emoji: "🌿🌸"
2899    },
2900    "長煙一空,皓月千里": {
2901        pinyin: "cháng yān yī kōng, hào yuè qiān lǐ",
2902        jyutping: "coeng4 jin1 jat1 hung1, hou6 jyut6 cin1 lei5",
2903        meaning: "彌漫的煙霧頓時消散,明亮的月光照耀著千里之遙",
2904        example: "退休教師王先生最愛帶孫子去山頂觀月。一個秋夜,他們爬上城郊的小山,原本山間雲霧繚繞,能見度很低。孫子有些失望,擔心看不到月亮。突然,一陣微風吹過,雲霧瞬間散開,一輪明月高懸天際,皎潔的月光灑滿山川,遠處的城市燈火清晰可見。孫子驚嘆連連,王先生感慨道:「這就是古人所說的『長煙一空,皓月千里』啊!人生不也是如此嗎?當你處於迷霧之中,看不清方向,不要灰心,堅持下去,也許轉瞬間迷霧散開,前路豁然開朗。我年輕時也曾經歷過迷茫困頓,幾乎放棄理想,幸好堅持了下來。所以無論何時,都要相信雲霧背後有明月,困境之後有光明」",
2905        emoji: "🌫️🌕"
2906    },
2907    "浮光躍金,靜影沉璧": {
2908        pinyin: "fú guāng yuè jīn, jìng yǐng chén bì",
2909        jyutping: "fu4 gwong1 joek6 gam1, zing6 jing2 cam4 bik1",
2910        meaning: "水波上跳動的月光如金,靜止的月影如沉入水中的璧玉",
2911        example: "退休攝影師李先生每年中秋都會到西湖邊拍攝月色。去年中秋,他帶著初學攝影的外孫女同行。當皎潔的月光灑在湖面上,隨著微波蕩漾,外孫女驚嘆道:「爺爺,你看月光在水面跳舞呢!」李先生微笑著說:「古人稱這景象為『浮光躍金,靜影沉璧』,月光在微波中跳躍如金,平靜處的月影又如沉入水中的美玉。我拍了一輩子照片,卻從未能完全捕捉這種瞬息萬變的美。有時候,最美的景色不是用來拍攝的,而是用心去感受的。現代人太忙於用相機記錄生活,卻忘了用眼睛和心靈去體驗。真正的攝影不只是技術,更是對生活的感悟和熱愛」",
2912        emoji: "✨💎"
2913    },
2914    "漁歌互答": {
2915        pinyin: "yú gē hù dá",
2916        jyutping: "jyu4 go1 wu6 daap3",
2917        meaning: "漁民的歌聲此起彼落互相應和",
2918        example: "退休音樂教師陳老師帶領合唱團去漁村采風,傍晚時分,他們坐在海邊聽當地漁民唱傳統漁歌。不同的船上,漁民們唱著同一首歌的不同段落,此起彼落,形成自然的和聲。城裡來的合唱團成員都被這原生態的音樂震撼了。陳老師感慨道:「這就是古人所說的『漁歌互答』啊!沒有專業訓練,沒有刻意編排,漁民們在勞作中自然形成的音樂交流,比我們排練多時的合唱還要和諧動人。這提醒我們,真正的藝術源於生活,源於勞
2918動,源於人與人之間的自然交流。我們專業音樂人常常被技巧所束縛,反而忘記了音樂的本質是表達情感和連接心靈。這次采風,我們不是來教導,而是來學習的」",
2919        emoji: "🎣🎵"
2920    },
2921    "心曠神怡": {
2922        pinyin: "xīn kuàng shén yí",
2923        jyutping: "sam1 kong3 san4 ji4",
2924        meaning: "心胸開闊,精神愉悅",
2925        example: "退休教授王先生長年被心臟病困擾,醫生建議他每天堅持輕度運動。他選擇每天清晨到城市公園的湖邊慢走。一個初夏早晨,晨霧輕漫,湖面如鏡,岸邊樹木蔥鬱,空氣格外清新。散步歸來,他對老伴說:「今天在湖邊走了一圈,真是『心曠神怡』啊!不只是身體舒暢,更感到一種心靈上的平和與喜悅。平時總被疾病和瑣事困擾,心緒不寧,但在那樣美好的環境中,彷彿所有煩惱都暫時離我而去。這也許就是古人所說的『心齋』境界吧,身處自然,心無雜念,與萬物和諧共處。這種感覺,是任何藥物都無法帶來的治癒」",
2926        emoji: "🧘‍♂️😌"
2927    },
2928    "把酒臨風": {
2929        pinyin: "bǎ jiǔ lín fēng",
2930        jyutping: "baa2 zau2 lam4 fung1",
2931        meaning: "拿著酒杯迎著風",
2932        example: "退休教師李先生六十大壽那天,婉拒了親友的隆重慶祝,獨自帶著一壺好酒登上城郊的小山。站在山頂,他倒了一杯酒,迎著微風遠眺城市的全景和遠處的山脈。回家後,兒子問他為何如此選擇,他微笑著說:「年輕時總被世俗繁瑣所困,退休後才明白『把酒臨風』的愜意。人到暮年,不再執著於熱鬧與排場,反而珍視那些能讓心靈沉澱的時刻。今天站在山頭,一杯清酒在手,看盡城市的繁華與山川的雄奇,回顧一生的起伏與成就,那種超脫與平靜,是任何豪華宴席都無法比擬的。人生的真正享受,不在於外物的奢華,而在於內心的自在與通達」",
2933        emoji: "🍶🌬️"
2934    },
2935    "不以物喜,不以己悲": {
2936        pinyin: "bù yǐ wù xǐ, bù yǐ jǐ bēi",
2937        jyutping: "bat1 ji5 mat6 hei2, bat1 ji5 gei2 bei1",
2938        meaning: "不因外物而喜悅,不因個人得失而悲傷",
2939        example: "退休法官張先生經歷過事業的高峰與低谷,如今安享晚年,生活簡樸而充實。一次同學聚會,老友們談起各自的起落沉浮,有人感嘆命運不公,有人炫耀晚年生活。張先生一直平靜微笑,有人問他如何保持這種淡然。他回答道:「年輕時經歷升遷,也曾春風得意;遭遇挫折,也曾黯然神傷。但隨著閱歷增加,漸漸領悟到『不以物喜,不以己悲』的智慧。外在的榮辱得失如過眼雲煙,真正的快樂源於內心的平和與知足。看這世間風雲變幻,得意者須知物極必反,失意者當明否極泰來。保持心態的平衡,才能在人生的跌宕中找到持久的安寧」",
2940        emoji: "😌⚖️"
2941    },
2942    "居廟堂之高,則憂其民": {
2943        pinyin: "jū miào táng zhī gāo, zé yōu qí mín",
2944        jyutping: "geoi1 miu6 tong4 zi1 gou1, zak1 jau1 kei4 man4",
2945        meaning: "身居朝廷高位時,就擔憂百姓的疾苦",
2946        example: "退休區長王先生從基層幹部做起,一路走到領導崗位,退休後仍常關注社區事務。一次社區討論會上,年輕社工抱怨工作辛苦卻得不到居民理解。王先生語重心長地說:「年輕人,公職不只是一份工作,更是一種責任。記得我剛當上區長時,有位老書記教導我『居廟堂之高,則憂其民』,提醒我權力越大,責任越重。那些年我經常深入社區,了解居民的實際困難,廢寢忘食只為解決一件民生小事。有時挨罵受氣,但只要能為百姓解憂,再多委屈也值得。真正的公僕精神不是高高在上發號施令,而是時刻把百姓的冷暖放在心上。希望你們年輕一代能繼承這種精神,不負人民的信任和重托」",
2947        emoji: "🏛️💭"
2948    },
2949    "處江湖之遠,則憂其君": {
2950        pinyin: "chǔ jiāng hú zhī yuǎn, zé yōu qí jūn",
2951        jyutping: "cyu5 gong1 wu4 zi1 jyun5, zak1 jau1 kei4 gwan1",
2952        meaning: "身處民間遠離朝廷時,就擔憂國君的安危",
2953        example: "退休教授陳先生曾在政府智庫任職,如今回到家鄉小城專注於寫作和講學。一次深夜,學生發現他伏案疾書,問他為何如此辛勞。陳教授揉了揉疲憊的雙眼,說:「我在寫一篇關於國家發展戰略的建議書。雖然已經退休,遠離決策中心,但看到國際形勢複雜多變,國家發展面臨諸多挑戰,心中不免牽掛。古人說『處江湖之遠,則憂其君』,作為知識分子,即使不在其位,仍應為國家發展貢獻自己的智慧。我雖然年邁,但只要頭腦還清醒,就有責任思考國家的未來。這不僅是一種職業習慣,更是一種家國情懷。希望我的一點淺見,能為國家發展添一分助力」",
2954        emoji: "🌊🏠"
2955    },
2956    "先天下之憂而憂,後天下之樂而樂": {
2957        pinyin: "xiān tiān xià zhī yōu ér yōu, hòu tiān xià zhī lè ér lè",
2958        jyutping: "sin1 tin1 haa6 zi1 jau1 ji4 jau1, hau6 tin1 haa6 zi1 lok6 ji4 lok6",
2959        meaning: "在天下人憂慮之前就先憂慮,在天下人歡樂之後才歡樂",
2960        example: "退休教師李先生在社區義務辦起了環保講堂,每週末都會給居民講解環境保護知識。一次講座後,有年輕人問他:「您都退休了,為什麼還這麼辛苦做這些事?」李先生摘下老花鏡,溫和地說:「我們這一代人享受了環境的紅利,卻把環境問題留給了下一代。當我看到北極冰川融化、極端氣候頻發、物種加速滅絕,如何能袖手旁觀?古人教導我們要『先天下之憂而憂,後天下之樂而樂』。環境問題不解決,人類何來真正的歡樂?我的時間不多了,但希望用餘生喚醒更多人的環保意識。等到下一代能在藍天白雲下,在清澈的河流旁,在鳥語花香中安居樂業時,那時我才會真正感到欣慰。這不是負擔,而是一種責任與擔當」",
2961        emoji: "😟➡️😊"
2962    }
2963}
2964
2965
2966
2967};
2968   
2969        
2970        // Game data - matching pairs (character and related emoji)
2971        const matchingPairs = [];
2972        
2973        // Populate matching pairs from characters that have emojis
2974        for (const category in chineseCharacters) {
2975            for (const character in chineseCharacters[category]) {
2976                if (chineseCharacters[category][character].meaning) {
2977                    matchingPairs.push({
2978                        character: character,
2979                        emoji: chineseCharacters[category][character].meaning,
2980                        category: category // Store category for pronunciation
2981                    });
2982                }
2983            }
2984        }
2985        
2986        // DOM Elements
2987        const learnContainer = document.getElementById('learn-container');
2988        const testContainer = document.getElementById('test-container');
2989        const gameContainer = document.getElementById('game-container');
2990        const categoriesContainer = document.getElementById('categories');
2991        const characterDisplay = document.getElementById('current-character');
2992        const characterEmoji = document.getElementById('character-emoji');
2993        const characterPinyin = document.getElementById('character-pinyin');
2994        const characterJyutping = document.getElementById('character-jyutping');
2995        const characterMeaning = document.getElementById('character-meaning');
2996        const characterExample = document.getElementById('character-example');
2997        const audioLabel = document.getElementById('audio-label');
2998        const progressBar = document.getElementById('progress-bar');
2999        const progressText = document.getElementById('progress-text');
3000        const learnModeBtn = document.getElementById('learn-mode-btn');
3001        const testModeBtn = document.getElementById('test-mode-btn');
3002        const gameModeBtn = document.getElementById('game-mode-btn');
3003        const cantoneseBtn = document.getElementById('cantonese-btn');
3004        const mandarinBtn = document.getElementById('mandarin-btn');
3005        const normalGameBtn = document.getElementById('normal-game-btn');
3006        const mirrorGameBtn = document.getElementById('mirror-game-btn');
3007        const prevCharBtn = document.getElementById('prev-character');
3008        const nextCharBtn = document.getElementById('next-character');
3009        const playAudio = document.getElementById('play-audio');
3010        const writingCanvas = document.getElementById('writing-canvas');
3011        const writingGuide = document.getElementById('writing-guide');
3012        const clearCanvasBtn = document.getElementById('clear-canvas');
3013        const quizCharacter = document.getElementById('quiz-character');
3014        const quizEnglish = document.getElementById('quiz-english');
3015        const quizOptions = document.getElementById('quiz-options');
3016        const quizResult = document.getElementById('quiz-result');
3017        const quizPlayAudio = document.getElementById('quiz-play-audio');
3018        const quizAudioLabel = document.getElementById('quiz-audio-label');
3019        const quizPronunciation = document.querySelector('.quiz-pronunciation');
3020        const nextQuestionBtn = document.getElementById('next-question');
3021        const testProgress = document.getElementById('test-progress');
3022        const testScore = document.getElementById('test-score');
3023        const matchingGame = document.getElementById('matching-game');
3024        const gameResult = document.getElementById('game-result');
3025        const restartGameBtn = document.getElementById('restart-game');
3026        const certificateForm = document.getElementById('certificate-form');
3027        const submitCertificateBtn = document.getElementById('submit-certificate');
3028        const loadingIndicator = document.getElementById('loading-indicator');
3029        const certificateOverlay = document.getElementById('certificate-overlay');
3030        const certificatePreview = document.getElementById('certificate-preview');
3031        const closeModalBtn = document.getElementById('close-modal');
3032
3033        // Global Variables
3034        let learnedCharacters = {};
3035        let currentCategory = "論仁、論孝、論君子";
3036        let currentCharacterIndex = 0;
3037        let totalCharacters = 0;
3038        let currentCharacters = [];
3039        let ctx = writingCanvas.getContext('2d');
3040        let isDrawing = false;
3041        let lastX = 0;
3042        let lastY = 0;
3043        let languageMode = "cantonese"; // Default to Cantonese
3044        let gameModeType = "normal"; // Default to normal game mode
3045        
3046        // Test variables
3047        const totalTestQuestions = 10;
3048        let currentQuestionNumber = 1;
3049        let correctAnswers = 0;
3050        let testCharacters = [];
3051        let currentQuizChar = '';
3052        let currentQuizCategory = '';
3053        
3054        // Game variables
3055        let matchedPairs = 0;
3056        let flippedCards = [];
3057        let canFlip = true;
3058        let gameCards = [];
3059
3060        // Initialize the App
3061        function initApp() {
3062            // Count total characters
3063            for (const category in chineseCharacters) {
3064                for (const character in chineseCharacters[category]) {
3065                    totalCharacters++;
3066                }
3067            }
3068            
3069            // Initialize categories
3070            createCategoryButtons();
3071            
3072            // Initialize character list for current category
3073            updateCharacterList();
3074            
3075            // Show first character
3076            showCharacter();
3077            
3078            // Set up canvas
3079            initCanvas();
3080            
3081            // Update progress
3082            updateProgress();
3083            
3084            // Set initial language mode
3085            updateLanguageDisplay();
3086        }
3087        
3088        // Create category buttons
3089        function createCategoryButtons() {
3090            categoriesContainer.innerHTML = '';
3091            for (const category in chineseCharacters) {
3092                const btn = document.createElement('button');
3093                btn.textContent = category;
3094                btn.className = category === currentCategory ? 'category-btn active touch-feedback' : 'category-btn touch-feedback';
3095                btn.onclick = () => switchCategory(category);
3096                categoriesContainer.appendChild(btn);
3097            }
3098        }
3099        
3100        // Switch category
3101        function switchCategory(category) {
3102            currentCategory = category;
3103            currentCharacterIndex = 0;
3104            
3105            // Update category buttons
3106            const categoryButtons = categoriesContainer.querySelectorAll('.category-btn');
3107            categoryButtons.forEach(btn => {
3108                btn.classList.remove('active');
3109                if (btn.textContent === category) {
3110                    btn.classList.add('active');
3111                }
3112            });
3113            
3114            updateCharacterList();
3115            showCharacter();
3116        }
3117        
3118        // Update the character list for current category
3119        function updateCharacterList() {
3120            currentCharacters = Object.keys(chineseCharacters[currentCategory]);
3121        }
3122        
3123        // Set language mode (Cantonese or Mandarin)
3124        function setLanguageMode(mode) {
3125            languageMode = mode;
3126            
3127            // Update button styles
3128            if (mode === "cantonese") {
3129                cantoneseBtn.classList.add('active');
3130                mandarinBtn.classList.remove('active');
3131            } else {
3132                cantoneseBtn.classList.remove('active');
3133                mandarinBtn.classList.add('active');
3134            }
3135            
3136            // Update content display
3137            updateLanguageDisplay();
3138            
3139            // If in test mode, refresh the current question
3140            if (testContainer.style.display !== 'none') {
3141                generateTestQuestion();
3142            }
3143        }
3144        
3145        // Set game mode (Normal or Mirror)
3146        function setGameMode(mode) {
3147            gameModeType = mode;
3148            
3149            // Update button styles
3150            if (mode === "normal") {
3151                normalGameBtn.classList.add('active');
3152                mirrorGameBtn.classList.remove('active');
3153                matchingGame.classList.remove('mirror-mode');
3154            } else {
3155                normalGameBtn.classList.remove('active');
3156                mirrorGameBtn.classList.add('active');
3157                matchingGame.classList.add('mirror-mode');
3158            }
3159            
3160            // If there are already flipped cards, don't restart the game
3161            if (flippedCards.length === 0 && matchedPairs === 0) {
3162                initMatchingGame();
3163            }
3164        }
3165        
3166        // Update display based on language mode
3167        function updateLanguageDisplay() {
3168            // Update pronunciation display in learning mode
3169            if (languageMode === "cantonese") {
3170                characterPinyin.style.display = 'none';
3171                characterJyutping.style.display = 'block';
3172                audioLabel.textContent = '粵語';
3173                quizAudioLabel.textContent = '粵語';
3174            } else {
3175                characterPinyin.style.display = 'block';
3176                characterJyutping.style.display = 'none';
3177                audioLabel.textContent = '普通話';
3178                quizAudioLabel.textContent = '普通話';
3179            }
3180            
3181            // Refresh character display if needed
3182            if (currentCharacters.length > 0) {
3183                showCharacter(false); // Don't clear canvas or animate again
3184            }
3185        }
3186        
3187        // Show character information
3188        function showCharacter(animate = true) {
3189            const character = currentCharacters[currentCharacterIndex];
3190            const characterData = chineseCharacters[currentCategory][character];
3191            
3192            characterDisplay.textContent = character;
3193            
3194            // Display emoji if available, otherwise hide
3195            if (characterData.emoji) {
3196                characterEmoji.textContent = characterData.emoji;
3197                characterEmoji.style.display = 'block';
3198            } else {
3199                characterEmoji.style.display = 'none';
3200            }
3201            
3202            // Set pronunciation text (display controlled by language mode)
3203            characterPinyin.textContent = `${characterData.pinyin}(普通話)`;
3204            characterJyutping.textContent = `${characterData.jyutping}(粵語)`;
3205            
3206            // Display meaning and example always
3207            characterMeaning.textContent = characterData.meaning;
3208            
3209            // Update example based on language mode
3210            if (languageMode === "cantonese") {
3211                const cantoneseExample = characterData.example.replace(/\([^\/]+\/([^)]+)\)/g, "($1)");
3212                characterExample.textContent = cantoneseExample;
3213            } else {
3214                const mandarinExample = characterData.example.replace(/\(([^\/]+)\/[^)]+\)/g, "($1)");
3215                characterExample.textContent = mandarinExample;
3216            }
3217            
3218            // Only animate and clear canvas if requested
3219            if (animate) {
3220                // Add animation to character
3221                characterDisplay.classList.remove('bounce');
3222                void characterDisplay.offsetWidth; // Trigger reflow
3223                characterDisplay.classList.add('bounce');
3224                
3225                // Clear the writing pad when showing a new character
3226                clearCanvas();
3227            }
3228            
3229            // Update writing guide
3230            updateWritingGuide(character);
3231            
3232            // Mark character as learned
3233            learnedCharacters[character] = true;
3234            updateProgress();
3235        }
3236        
3237        // Update progress bar
3238        function updateProgress() {
3239            const learnedCount = Object.keys(learnedCharacters).length;
3240            const percentage = (learnedCount / totalCharacters) * 100;
3241            progressBar.style.width = `${percentage}%`;
3242            progressText.textContent = `${learnedCount}/${totalCharacters} 學習了`;
3243        }
3244        
3245        // Initialize canvas for writing practice
3246        function initCanvas() {
3247            // Set canvas size
3248            function resizeCanvas() {
3249                const rect = writingCanvas.getBoundingClientRect();
3250                writingCanvas.width = rect.width;
3251                writingCanvas.height = rect.height;
3252                ctx.lineJoin = 'round';
3253                ctx.lineCap = 'round';
3254                ctx.lineWidth = 8;
3255                ctx.strokeStyle = '#e64a19';
3256            }
3257            
3258            resizeCanvas();
3259            window.addEventListener('resize', resizeCanvas);
3260            
3261            // Setup drawing events
3262            writingCanvas.addEventListener('mousedown', startDrawing);
3263            writingCanvas.addEventListener('mousemove', draw);
3264            writingCanvas.addEventListener('mouseup', stopDrawing);
3265            writingCanvas.addEventListener('mouseout', stopDrawing);
3266            
3267            // Touch events
3268            writingCanvas.addEventListener('touchstart', handleTouchStart);
3269            writingCanvas.addEventListener('touchmove', handleTouchMove);
3270            writingCanvas.addEventListener('touchend', stopDrawing);
3271            
3272            // Clear canvas button
3273            clearCanvasBtn.addEventListener('click', clearCanvas);
3274        }
3275        
3276        // Start drawing
3277        function startDrawing(e) {
3278            isDrawing = true;
3279            [lastX, lastY] = getCoordinates(e);
3280        }
3281        
3282        // Draw on canvas
3283        function draw(e) {
3284            if (!isDrawing) return;
3285            e.preventDefault();
3286            
3287            const [currentX, currentY] = getCoordinates(e);
3288            
3289            ctx.beginPath();
3290            ctx.moveTo(lastX, lastY);
3291            ctx.lineTo(currentX, currentY);
3292            ctx.stroke();
3293            
3294            [lastX, lastY] = [currentX, currentY];
3295        }
3296        
3297        // Handle touch start
3298        function handleTouchStart(e) {
3299            e.preventDefault();
3300            const touch = e.touches[0];
3301            const mouseEvent = new MouseEvent('mousedown', {
3302                clientX: touch.clientX,
3303                clientY: touch.clientY
3304            });
3305            writingCanvas.dispatchEvent(mouseEvent);
3306        }
3307        
3308        // Handle touch move
3309        function handleTouchMove(e) {
3310            e.preventDefault();
3311            const touch = e.touches[0];
3312            const mouseEvent = new MouseEvent('mousemove', {
3313                clientX: touch.clientX,
3314                clientY: touch.clientY
3315            });
3316            writingCanvas.dispatchEvent(mouseEvent);
3317        }
3318        
3319        // Get coordinates for mouse or touch
3320        function getCoordinates(e) {
3321            const rect = writingCanvas.getBoundingClientRect();
3322            return [
3323                e.clientX - rect.left,
3324                e.clientY - rect.top
3325            ];
3326        }
3327        
3328        // Stop drawing
3329        function stopDrawing() {
3330            isDrawing = false;
3331        }
3332        
3333        // Clear canvas
3334        function clearCanvas() {
3335            if (ctx) {
3336                ctx.clearRect(0, 0, writingCanvas.width, writingCanvas.height);
3337            }
3338        }
3339        
3340        // Update writing guide
3341        function updateWritingGuide(character) {
3342            writingGuide.innerHTML = '';
3343            const guideChar = document.createElement('div');
3344            guideChar.style.fontSize = '36px';
3345            guideChar.style.color = '#ff9e80';
3346            guideChar.style.display = 'flex';
3347            guideChar.style.justifyContent = 'center';
3348            guideChar.style.alignItems = 'center';
3349            guideChar.style.height = '100%';
3350            guideChar.style.fontWeight = 'bold';
3351            guideChar.textContent = character;
3352            writingGuide.appendChild(guideChar);
3353        }
3354        
3355        // Play audio for character in current language mode
3356        function playCharacterAudio() {
3357            const character = currentCharacters[currentCharacterIndex];
3358            const utterance = new SpeechSynthesisUtterance(character);
3359            
3360            // Get all available voices
3361            const voices = window.speechSynthesis.getVoices();
3362            
3363            // Set primary language
3364            if (languageMode === "cantonese") {
3365                utterance.lang = 'zh-HK';
3366                // Try to find Cantonese voice
3367                const cantoneseVoice = voices.find(v => 
3368                    v.lang.includes('zh-HK') || 
3369                    v.lang.includes('zh_HK') ||
3370                    v.name.toLowerCase().includes('cantonese'));
3371                
3372                if (cantoneseVoice) {
3373                    utterance.voice = cantoneseVoice;
3374                } else {
3375                    // Fallback to any Chinese voice
3376                    const anyChineseVoice = voices.find(v => 
3377                        v.lang.includes('zh') || 
3378                        v.name.toLowerCase().includes('chinese'));
3379                    
3380                    if (anyChineseVoice) {
3381                        utterance.voice = anyChineseVoice;
3382                    }
3383                }
3384            } else {
3385                utterance.lang = 'zh-CN';
3386                // Try to find Mandarin voice
3387                const mandarinVoice = voices.find(v => 
3388                    v.lang.includes('zh-CN') || 
3389                    v.lang.includes('zh_CN') ||
3390                    v.name.toLowerCase().includes('mandarin'));
3391                
3392                if (mandarinVoice) {
3393                    utterance.voice = mandarinVoice;
3394                } else {
3395                    // Fallback to any Chinese voice
3396                    const anyChineseVoice = voices.find(v => 
3397                        v.lang.includes('zh') || 
3398                        v.name.toLowerCase().includes('chinese'));
3399                    
3400                    if (anyChineseVoice) {
3401                        utterance.voice = anyChineseVoice;
3402                    }
3403                }
3404            }
3405            
3406            utterance.rate = 0.8;
3407            window.speechSynthesis.speak(utterance);
3408            
3409            // Debug log to see what's happening
3410            console.log("Playing audio with voice:", utterance.voice ? utterance.voice.name : "Default", "Language:", utterance.lang);
3411        }
3412        
3413
3414        
3415        function playQuizAudio() {
3416            const utterance = new SpeechSynthesisUtterance(currentQuizChar);
3417            
3418            // Get all available voices
3419            const voices = window.speechSynthesis.getVoices();
3420            
3421            // Set primary language
3422            if (languageMode === "cantonese") {
3423                utterance.lang = 'zh-HK';
3424                // Try to find Cantonese voice
3425                const cantoneseVoice = voices.find(v => 
3426                    v.lang.includes('zh-HK') || 
3427                    v.lang.includes('zh_HK') ||
3428                    v.name.toLowerCase().includes('cantonese'));
3429                
3430                if (cantoneseVoice) {
3431                    utterance.voice = cantoneseVoice;
3432                } else {
3433                    // Fallback to any Chinese voice
3434                    const anyChineseVoice = voices.find(v => 
3435                        v.lang.includes('zh') || 
3436                        v.name.toLowerCase().includes('chinese'));
3437                    
3438                    if (anyChineseVoice) {
3439                        utterance.voice = anyChineseVoice;
3440                    }
3441                }
3442            } else {
3443                utterance.lang = 'zh-CN';
3444                // Try to find Mandarin voice
3445                const mandarinVoice = voices.find(v => 
3446                    v.lang.includes('zh-CN') || 
3447                    v.lang.includes('zh_CN') ||
3448                    v.name.toLowerCase().includes('mandarin'));
3449                
3450                if (mandarinVoice) {
3451                    utterance.voice = mandarinVoice;
3452                } else {
3453                    // Fallback to any Chinese voice
3454                    const anyChineseVoice = voices.find(v => 
3455                        v.lang.includes('zh') || 
3456                        v.name.toLowerCase().includes('chinese'));
3457                    
3458                    if (anyChineseVoice) {
3459                        utterance.voice = anyChineseVoice;
3460                    }
3461                }
3462            }
3463            
3464            utterance.rate = 0.8;
3465            window.speechSynthesis.speak(utterance);
3466            
3467            // Debug log to see what's happening
3468            console.log("Playing quiz audio with voice:", utterance.voice ? utterance.voice.name : "Default", "Language:", utterance.lang, "Character:", currentQuizChar);
3469        }
3470        
3471        // Navigate to previous character
3472        function prevCharacter() {
3473            if (currentCharacterIndex > 0) {
3474                currentCharacterIndex--;
3475                showCharacter();
3476            }
3477        }
3478        
3479        // Navigate to next character
3480        function nextCharacter() {
3481            if (currentCharacterIndex < currentCharacters.length - 1) {
3482                currentCharacterIndex++;
3483                showCharacter();
3484            }
3485        }
3486        
3487        // Initialize test mode
3488        function initTest() {
3489            nextQuestionBtn.style.display = 'block';
3490  
3491            // Reset test variables
3492            currentQuestionNumber = 1;
3493            correctAnswers = 0;
3494            testScore.textContent = '';
3495            quizPronunciation.style.display = 'none';
3496            certificateForm.style.display = 'none';
3497            
3498            // Update progress indicator
3499            testProgress.textContent = `問題 ${currentQuestionNumber} / ${totalTestQuestions}`;
3500            
3501            // Get all characters for the test
3502            let allCharacters = [];
3503            for (const category in chineseCharacters) {
3504                for (const character in chineseCharacters[category]) {
3505                    allCharacters.push({
3506                        character: character,
3507                        category: category
3508                    });
3509                }
3510            }
3511            
3512            // Randomly select characters for the test
3513            testCharacters = [];
3514            const shuffled = [...allCharacters].sort(() => 0.5 - Math.random());
3515            testCharacters = shuffled.slice(0, totalTestQuestions);
3516            
3517            generateTestQuestion();
3518            
3519            // Show the next question button
3520            nextQuestionBtn.style.display = 'inline-block';
3521            nextQuestionBtn.textContent = '下一題';
3522            nextQuestionBtn.onclick = nextQuestion;
3523        }
3524        
3525        // Generate a test question
3526        function generateTestQuestion() {
3527            // Clear previous result
3528            quizResult.textContent = '';
3529            quizResult.className = 'quiz-result';
3530            quizPronunciation.style.display = 'none';
3531            
3532            // Get current question
3533            const currentQuestion = testCharacters[currentQuestionNumber - 1];
3534            const currentChar = currentQuestion.character;
3535            const currentData = chineseCharacters[currentQuestion.category][currentChar];
3536            
3537            // Store current character and category for audio buttons
3538            currentQuizChar = currentChar;
3539            currentQuizCategory = currentQuestion.category;
3540            
3541            // Show the character and pronunciation based on language mode
3542            quizCharacter.textContent = currentChar;
3543            quizEnglish.textContent = languageMode === "cantonese" ? 
3544                currentData.jyutping : 
3545                currentData.pinyin;
3546            
3547            // Generate options based on English meanings
3548            quizOptions.innerHTML = '';
3549            
3550            // Create the correct option using the English meaning
3551            const correctOption = {
3552                text: currentData.meaning,
3553                correct: true
3554            };
3555            
3556            // Add incorrect options (English meanings from other characters)
3557            let allMeanings = [];
3558            for (const category in chineseCharacters) {
3559                for (const char in chineseCharacters[category]) {
3560                    if (char !== currentChar) {
3561                        const data = chineseCharacters[category][char];
3562                        allMeanings.push({
3563                            text: data.meaning,
3564                            correct: false
3565                        });
3566                    }
3567                }
3568            }
3569            
3570            // Shuffle and take 3 incorrect options
3571            allMeanings = allMeanings.sort(() => 0.5 - Math.random()).slice(0, 3);
3572            
3573            // Combine and shuffle all options
3574            const options = [correctOption, ...allMeanings];
3575            const shuffledOptions = options.sort(() => 0.5 - Math.random());
3576            
3577            // Create option buttons
3578            shuffledOptions.forEach(option => {
3579                const btn = document.createElement('button');
3580                btn.textContent = option.text;
3581                btn.className = 'quiz-option-btn touch-feedback';
3582                btn.onclick = () => checkTestAnswer(option.correct, option.text);
3583                quizOptions.appendChild(btn);
3584            });
3585            
3586            // Next button is disabled until an answer is selected
3587            nextQuestionBtn.disabled = true;
3588        }
3589        
3590        // Check test answer
3591        function checkTestAnswer(isCorrect, selectedOption) {
3592            // Add haptic feedback if available
3593            if (navigator.vibrate) {
3594                navigator.vibrate(isCorrect ? [40, 30, 40] : 100);
3595            }
3596            
3597            const currentQuestion = testCharacters[currentQuestionNumber - 1];
3598            const currentChar = currentQuestion.character;
3599            const currentData = chineseCharacters[currentQuestion.category][currentChar];
3600            
3601            // Get correct meaning in English
3602            const correctMeaning = currentData.meaning;
3603            
3604            // Display result
3605            quizResult.textContent = isCorrect 
3606                ? 'Correct! Well done!' 
3607                : `Incorrect. The meaning of ${currentChar} is "${correctMeaning}".`;
3608            quizResult.className = isCorrect ? 'quiz-result correct' : 'quiz-result incorrect';
3609            
3610            // Disable all option buttons
3611            const optionButtons = quizOptions.querySelectorAll('button');
3612            optionButtons.forEach(btn => {
3613                btn.disabled = true;
3614                if (btn.textContent === correctMeaning) {
3615                    btn.style.backgroundColor = '#2b9348';
3616                    btn.style.color = 'white';
3617                } else if (btn.textContent === selectedOption && !isCorrect) {
3618                    btn.style.backgroundColor = '#d00000';
3619                    btn.style.color = 'white';
3620                }
3621            });
3622            
3623            // Speak the character in current language mode
3624            setTimeout(() => {
3625                const utterance = new SpeechSynthesisUtterance(currentChar);
3626                
3627                // Get all available voices
3628                const voices = window.speechSynthesis.getVoices();
3629                
3630                // Set primary language
3631                if (languageMode === "cantonese") {
3632                    utterance.lang = 'zh-HK';
3633                    // Try to find Cantonese voice
3634                    const cantoneseVoice = voices.find(v => 
3635                        v.lang.includes('zh-HK') || 
3636                        v.lang.includes('zh_HK') ||
3637                        v.name.toLowerCase().includes('cantonese'));
3638                    
3639                    if (cantoneseVoice) {
3640                        utterance.voice = cantoneseVoice;
3641                    } else {
3642                        // Fallback to any Chinese voice
3643                        const anyChineseVoice = voices.find(v => 
3644                            v.lang.includes('zh') || 
3645                            v.name.toLowerCase().includes('chinese'));
3646                        
3647                        if (anyChineseVoice) {
3648                            utterance.voice = anyChineseVoice;
3649                        }
3650                    }
3651                } else {
3652                    utterance.lang = 'zh-CN';
3653                    // Try to find Mandarin voice
3654                    const mandarinVoice = voices.find(v => 
3655                        v.lang.includes('zh-CN') || 
3656                        v.lang.includes('zh_CN') ||
3657                        v.name.toLowerCase().includes('mandarin'));
3658                    
3659                    if (mandarinVoice) {
3660                        utterance.voice = mandarinVoice;
3661                    } else {
3662                        // Fallback to any Chinese voice
3663                        const anyChineseVoice = voices.find(v => 
3664                            v.lang.includes('zh') || 
3665                            v.name.toLowerCase().includes('chinese'));
3666                        
3667                        if (anyChineseVoice) {
3668                            utterance.voice = anyChineseVoice;
3669                        }
3670                    }
3671                }
3672                
3673                utterance.rate = 0.8;
3674                window.speechSynthesis.speak(utterance);
3675                
3676                // Debug log to see what's happening
3677                console.log("Playing test answer audio with voice:", utterance.voice ? utterance.voice.name : "Default", 
3678                            "Language:", utterance.lang, 
3679                            "Character:", currentChar);
3680            }, 500);
3681            
3682            // Show pronunciation button after answer is selected
3683            quizPronunciation.style.display = 'flex';
3684            
3685            // If correct, increment score
3686            if (isCorrect) {
3687                correctAnswers++;
3688            }
3689            
3690            // Enable next question button
3691            nextQuestionBtn.disabled = false;
3692            
3693            // Mark as learned
3694            learnedCharacters[currentChar] = true;
3695            updateProgress();
3696        }
3697        
3698        // Move to next question or finish test
3699        function nextQuestion() {
3700            if (currentQuestionNumber === totalTestQuestions) {
3701                // Test is complete
3702                finishTest();
3703            } else {
3704                // Move to next question
3705                currentQuestionNumber++;
3706                testProgress.textContent = `問題 ${currentQuestionNumber} / ${totalTestQuestions}`;
3707                generateTestQuestion();
3708            }
3709        }
3710        
3711        // Finish test and show results
3712        function finishTest() {
3713            const scorePercentage = (correctAnswers / totalTestQuestions) * 100;
3714            let scoreClass = '';
3715            
3716            if (scorePercentage >= 80) {
3717                scoreClass = 'score-good';
3718            } else if (scorePercentage >= 60) {
3719                scoreClass = 'score-avg';
3720            } else {
3721                scoreClass = 'score-poor';
3722            }
3723            
3724            testScore.textContent = `你的分數: ${correctAnswers} / ${totalTestQuestions} (${scorePercentage}%)`;
3725            testScore.className = `test-score ${scoreClass}`;
3726            
3727            // Hide the button to prevent double-triggering issues
3728            nextQuestionBtn.style.display = 'none';
3729            
3730            // Hide pronunciation buttons
3731            quizPronunciation.style.display = 'none';
3732            
3733            // Show certificate form if score is 80% or higher
3734            if (scorePercentage >= 80) {
3735                certificateForm.style.display = 'block';
3736                certificateForm.scrollIntoView({behavior: 'smooth'});
3737                
3738                // Hide the next button
3739                nextQuestionBtn.style.display = 'none';
3740            }
3741        }
3742        
3743        // Generate and send certificate
3744        function generateCertificate() {
3745            const name = document.getElementById('name').value;
3746            const email = document.getElementById('email').value;
3747            
3748            // Validate inputs
3749            if (!name || !email) {
3750                alert('請填寫所有欄位');
3751                return;
3752            }
3753            
3754            // Show loading indicator
3755            loadingIndicator.style.display = 'block';
3756            submitCertificateBtn.disabled = true;
3757            
3758            // Get a random emoji from the ones we've learned
3759            let randomEmojis = [];
3760            for (const category in chineseCharacters) {
3761                for (const character in chineseCharacters[category]) {
3762                    if (chineseCharacters[category][character].emoji && learnedCharacters[character]) {
3763                        randomEmojis.push({
3764                            character: character,
3765                            emoji: chineseCharacters[category][character].emoji
3766                        });
3767                    }
3768                }
3769            }
3770            
3771            // Select a random emoji if we have any
3772            let featuredChar = "";
3773            let featuredEmoji = "🎓";
3774            if (randomEmojis.length > 0) {
3775                const randomChoice = randomEmojis[Math.floor(Math.random() * randomEmojis.length)];
3776                featuredChar = randomChoice.character;
3777                featuredEmoji = randomChoice.emoji;
3778            }
3779            
3780            // Pre-load signature image
3781            const signatureImg = new Image();
3782            signatureImg.crossOrigin = "anonymous";
3783            signatureImg.src = "https://i.postimg.cc/N0SpTfr3/Advert-3.png";
3784            
3785            signatureImg.onload = function() {
3786                const certificateDiv = document.createElement('div');
3787                certificateDiv.innerHTML = `
3788                    <div class="certificate-container">
3789                        <div id="certificate" class="certificate">
3790                            <div class="stars star1">⭐</div>
3791                            <div class="stars star2">⭐</div>
3792                            <div class="stars star3">⭐</div>
3793                            <div class="stars star4">⭐</div>
3794                            
3795                            <div class="content">
3796                                <div class="logo">CHEUNG NGO MEDICAL 翱翔醫療</div>
3797                                <h1>DSE中文12篇範文遊戲課程證書</h1>
3798                                <div class="emoji-decoration">${featuredEmoji}</div>
3799                                <span class="smaller-text">此證書頒發給</span>
3800                                <div class="recipient">${name}</div>
3801                                <span class="smaller-text">成功完成</span>
3802                                <div class="reason">DSE中文12篇範文遊戲 本日挑戰</div>
3803                                <div class="date">完成日期: ${new Date().toLocaleDateString()}</div>
3804                                
3805                                <div class="signatures">
3806                                    <div class="signature">
3807                                        <img src="${signatureImg.src}" 
3808                                            alt="Program Director Signature" 
3809                                            class="signature-image"
3810                                            crossorigin="anonymous" />
3811                                        <div class="signature-line"></div>
3812                                        課程導師
3813                                    </div>
3814                                    <div class="signature">
3815                                        <img src="${signatureImg.src}" 
3816                                            alt="Organization Director Signature" 
3817                                            class="signature-image"
3818                                            crossorigin="anonymous" />
3819                                        <div class="signature-line"></div>
3820                                        中心主任
3821                                    </div>
3822                                </div>
3823                            </div>
3824                        </div>
3825                    </div>
3826                `;
3827                
3828                document.body.appendChild(certificateDiv);
3829                
3830                setTimeout(function() {
3831                    const certificateElement = document.querySelector('#certificate');
3832                    const options = {
3833                        scale: 2,
3834                        useCORS: true,
3835                        allowTaint: true,
3836                        backgroundColor: '#ffffff',
3837                        width: 800,
3838                        height: 600,
3839                        windowWidth: 800,
3840                        windowHeight: 600,
3841                        onclone: function(clonedDoc) {
3842                            const images = clonedDoc.getElementsByTagName('img');
3843                            for (let img of images) {
3844                                img.crossOrigin = "anonymous";
3845                            }
3846                        }
3847                    };
3848                    
3849                    html2canvas(certificateElement, options)
3850                        .then(function(canvas) {
3851                            const imgDataUrl = canvas.toDataURL('image/png');
3852                            document.body.removeChild(certificateDiv);
3853                            
3854                            // Create a preview of the certificate
3855                            certificatePreview.innerHTML = '';
3856                            const previewImg = document.createElement('img');
3857                            previewImg.src = imgDataUrl;
3858                            previewImg.style.maxWidth = '100%';
3859                            certificatePreview.appendChild(previewImg);
3860                            certificateOverlay.style.display = 'flex';
3861                            
3862                            const formData = new FormData();
3863                            const base64Image = imgDataUrl.split(',')[1];
3864                            formData.append('image', base64Image);
3865                            formData.append('key', 'ac7bcf6e3056c6b765e00749c1e3d0dd'); // ImgBB API key
3866                            
3867                            fetch('https://api.imgbb.com/1/upload', {
3868                                method: 'POST',
3869                                body: formData
3870                            })
3871                            .then(response => response.json())
3872                            .then(data => {
3873                                if (data.success) {
3874                                    const imageUrl = data.data.url;
3875                                    const certificateEmail = {
3876                                        emailTitle: 'DSE中文12篇範文遊戲課程證書',
3877                                        to_email: email,
3878                                        results_content: `恭喜你完成成語學習遊戲課程本日挑戰!
3879
3880你的證書可以在以下連結查看:
3881${imageUrl}
3882
3883証書可能需要幾分鐘才能準備好供查看和下載。
3884
3885Cheung Ngo Medical 翱翔醫療
3886WhatsApp聯絡尖沙咀店 https://wa.me/85295096276
3887WhatsApp聯絡中環店 https://wa.me/85290511569
3888WhatsApp聯絡將軍澳店 https://wa.me/85298852916
3889WhatsApp聯絡旺角店 https://wa.me/85298893911
3890`
3891                                    };
3892                                    
3893                                    emailjs.send('service_di3sotm', 'template_sc1rwk2', certificateEmail) // Replace with your actual service ID and template ID
3894                                        .then(response => {
3895                                            console.log('Certificate email sent successfully:', response);
3896                                            loadingIndicator.style.display = 'none';
3897                                            submitCertificateBtn.disabled = false;
3898                                            alert('恭喜!你的證書已發送到你的電郵地址。');
3899                                        })
3900                                        .catch(error => {
3901                                            console.error('Failed to send certificate email:', error);
3902                                            loadingIndicator.style.display = 'none';
3903                                            submitCertificateBtn.disabled = false;
3904                                            alert('發送證書失敗。請聯繫支援人員。');
3905                                        });
3906                                } else {
3907                                    console.error('Image upload failed:', data);
3908                                    loadingIndicator.style.display = 'none';
3909                                    submitCertificateBtn.disabled = false;
3910                                    alert('上傳證書圖片失敗。請聯繫支援人員。');
3911                                }
3912                            })
3913                            .catch(error => {
3914                                console.error('Error uploading image to imgbb:', error);
3915                                loadingIndicator.style.display = 'none';
3916                                submitCertificateBtn.disabled = false;
3917                                alert('上傳證書圖片失敗。請聯繫支援人員。');
3918                            });
3919                        })
3920                        .catch(error => {
3921                            console.error('Error generating certificate image:', error);
3922                            loadingIndicator.style.display = 'none';
3923                            submitCertificateBtn.disabled = false;
3924                            alert('生成證書圖片失敗。請聯繫支援人員。');
3925                        });
3926                }, 500);
3927            };
3928            
3929            signatureImg.onerror = function() {
3930                console.error('Failed to load signature image');
3931                loadingIndicator.style.display = 'none';
3932                submitCertificateBtn.disabled = false;
3933                alert('載入簽名圖片失敗。請聯繫支援人員。');
3934            };
3935        }
3936        
3937        // Initialize matching game
3938        function initMatchingGame() {
3939            matchingGame.innerHTML = '';
3940            matchedPairs = 0;
3941            flippedCards = [];
3942            canFlip = true;
3943            gameResult.textContent = '';
3944            
3945            // Get random pairs for the game (6 pairs for 12 cards)
3946            const shuffledPairs = [...matchingPairs].sort(() => 0.5 - Math.random()).slice(0, 6);
3947            
3948            // Create game cards (character and emoji for each pair)
3949            gameCards = [];
3950            shuffledPairs.forEach(pair => {
3951                gameCards.push({
3952                    value: pair.character,
3953                    type: 'character',
3954                    matched: false,
3955                    pairId: pair.character,
3956                    category: pair.category
3957                });
3958                
3959                gameCards.push({
3960                    value: pair.emoji,
3961                    type: 'emoji',
3962                    matched: false,
3963                    pairId: pair.character,
3964                    category: pair.category,
3965                    meaning: chineseCharacters[pair.category][pair.character].meaning
3966                });
3967            });
3968            
3969            // Shuffle the cards
3970            gameCards = gameCards.sort(() => 0.5 - Math.random());
3971            
3972            // Create the game board
3973            gameCards.forEach((card, index) => {
3974                const cardElement = document.createElement('div');
3975                cardElement.className = 'game-card';
3976                cardElement.dataset.index = index;
3977                cardElement.textContent = '?';
3978                cardElement.onclick = () => flipCard(index);
3979                matchingGame.appendChild(cardElement);
3980            });
3981            
3982            // Apply the current game mode
3983            if (gameModeType === "mirror") {
3984                matchingGame.classList.add('mirror-mode');
3985            } else {
3986                matchingGame.classList.remove('mirror-mode');
3987            }
3988        }
3989        
3990        // Flip a card in the matching game
3991        function flipCard(index) {
3992            // If the card is already flipped or matched, or can't flip, return
3993            if (flippedCards.includes(index) || gameCards[index].matched || !canFlip) {
3994                return;
3995            }
3996            
3997            // If already two cards flipped, return
3998            if (flippedCards.length === 2) {
3999                return;
4000            }
4001            
4002            // Flip the card
4003            const cardElement = matchingGame.children[index];
4004            cardElement.textContent = gameCards[index].value;
4005            cardElement.classList.add('flipped');
4006            
4007            // Speak the card based on its type and language mode
4008            const card = gameCards[index];
4009            
4010            if (card.type === 'character') {
4011                // Speak the character in current language mode
4012                setTimeout(() => {
4013                    const utterance = new SpeechSynthesisUtterance(card.value);
4014                    
4015                    // Get all available voices
4016                    const voices = window.speechSynthesis.getVoices();
4017                    
4018                    // Set primary language
4019                    if (languageMode === "cantonese") {
4020                        utterance.lang = 'zh-HK';
4021                        // Try to find Cantonese voice
4022                        const cantoneseVoice = voices.find(v => 
4023                            v.lang.includes('zh-HK') || 
4024                            v.lang.includes('zh_HK') ||
4025                            v.name.toLowerCase().includes('cantonese'));
4026                        
4027                        if (cantoneseVoice) {
4028                            utterance.voice = cantoneseVoice;
4029                        } else {
4030                            // Fallback to any Chinese voice
4031                            const anyChineseVoice = voices.find(v => 
4032                                v.lang.includes('zh') || 
4033                                v.name.toLowerCase().includes('chinese'));
4034                            
4035                            if (anyChineseVoice) {
4036                                utterance.voice = anyChineseVoice;
4037                            }
4038                        }
4039                    } else {
4040                        utterance.lang = 'zh-CN';
4041                        // Try to find Mandarin voice
4042                        const mandarinVoice = voices.find(v => 
4043                            v.lang.includes('zh-CN') || 
4044                            v.lang.includes('zh_CN') ||
4045                            v.name.toLowerCase().includes('mandarin'));
4046                        
4047                        if (mandarinVoice) {
4048                            utterance.voice = mandarinVoice;
4049                        } else {
4050                            // Fallback to any Chinese voice
4051                            const anyChineseVoice = voices.find(v => 
4052                                v.lang.includes('zh') || 
4053                                v.name.toLowerCase().includes('chinese'));
4054                            
4055                            if (anyChineseVoice) {
4056                                utterance.voice = anyChineseVoice;
4057                            }
4058                        }
4059                    }
4060                    
4061                    utterance.rate = 0.8;
4062                    window.speechSynthesis.speak(utterance);
4063                    
4064                    // Debug log to see what's happening
4065                    console.log("Playing game card audio with voice:", utterance.voice ? utterance.voice.name : "Default", "Language:", utterance.lang, "Character:", card.value);
4066                }, 200);
4067            } else if (card.type === 'emoji') {
4068                // Check if meaning contains slash
4069                if (card.meaning.includes('/')) {
4070                    // Split the meaning by slash and speak each part with a delay
4071                    const parts = card.meaning.split('/');
4072                    
4073                    // Speak the first part
4074                    setTimeout(() => {
4075                        const firstPartUtterance = new SpeechSynthesisUtterance(parts[0].trim());
4076                        firstPartUtterance.lang = 'en-US';
4077                        window.speechSynthesis.speak(firstPartUtterance);
4078                        
4079                        // Speak the second part after a delay
4080                        setTimeout(() => {
4081                            const secondPartUtterance = new SpeechSynthesisUtterance(parts[1].trim());
4082                            secondPartUtterance.lang = 'en-US';
4083                            window.speechSynthesis.speak(secondPartUtterance);
4084                        }, 300); // 0.3s delay between words
4085                    }, 200);
4086                } else {
4087                    // Original behavior for emoji cards without slash
4088                    setTimeout(() => {
4089                        const englishUtterance = new SpeechSynthesisUtterance(card.meaning);
4090                        englishUtterance.lang = 'en-US';
4091                        window.speechSynthesis.speak(englishUtterance);
4092                    }, 200);
4093                }
4094            }
4095            
4096            // Add to flipped cards
4097            flippedCards.push(index);
4098            
4099            // If two cards are flipped, check for a match
4100            if (flippedCards.length === 2) {
4101                canFlip = false;
4102                
4103                const card1 = gameCards[flippedCards[0]];
4104                const card2 = gameCards[flippedCards[1]];
4105                
4106                if (card1.pairId === card2.pairId) {
4107                    // Match found
4108                    setTimeout(() => {
4109                        const card1Element = matchingGame.children[flippedCards[0]];
4110                        const card2Element = matchingGame.children[flippedCards[1]];
4111                        
4112                        card1Element.classList.add('matched');
4113                        card2Element.classList.add('matched');
4114                        
4115                        card1.matched = true;
4116                        card2.matched = true;
4117                        
4118                        matchedPairs++;
4119                        flippedCards = [];
4120                        canFlip = true;
4121                        
4122                        // Add haptic feedback if available
4123                        if (navigator.vibrate) {
4124                            navigator.vibrate([40, 30, 40]);
4125                        }
4126                        
4127                        // Check if all pairs are matched
4128                        if (matchedPairs === gameCards.length / 2) {
4129                            gameResult.textContent = '恭喜你!你找到了所有配對!';
4130                            gameResult.className = 'game-result score-good';
4131                        }
4132                    }, 1000);
4133                } else {
4134                    // No match
4135                    setTimeout(() => {
4136                        const card1Element = matchingGame.children[flippedCards[0]];
4137                        const card2Element = matchingGame.children[flippedCards[1]];
4138                        
4139                        card1Element.textContent = '?';
4140                        card2Element.textContent = '?';
4141                        
4142                        card1Element.classList.remove('flipped');
4143                        card2Element.classList.remove('flipped');
4144                        
4145                        flippedCards = [];
4146                        canFlip = true;
4147                        
4148                        // Add haptic feedback if available
4149                        if (navigator.vibrate) {
4150                            navigator.vibrate(100);
4151                        }
4152                    }, 1500);
4153                }
4154            }
4155        }
4156        
4157        // Event Listeners for mode switching
4158        learnModeBtn.addEventListener('click', () => {
4159            learnContainer.style.display = 'block';
4160            testContainer.style.display = 'none';
4161            gameContainer.style.display = 'none';
4162            learnModeBtn.classList.add('active');
4163            testModeBtn.classList.remove('active');
4164            gameModeBtn.classList.remove('active');
4165        });
4166        
4167        testModeBtn.addEventListener('click', () => {
4168            learnContainer.style.display = 'none';
4169            testContainer.style.display = 'block';
4170            gameContainer.style.display = 'none';
4171            learnModeBtn.classList.remove('active');
4172            testModeBtn.classList.add('active');
4173            gameModeBtn.classList.remove('active');
4174            initTest();
4175        });
4176        
4177        gameModeBtn.addEventListener('click', () => {
4178            learnContainer.style.display = 'none';
4179            testContainer.style.display = 'none';
4180            gameContainer.style.display = 'block';
4181            learnModeBtn.classList.remove('active');
4182            testModeBtn.classList.remove('active');
4183            gameModeBtn.classList.add('active');
4184            initMatchingGame();
4185        });
4186        
4187        // Event listeners for language mode
4188        cantoneseBtn.addEventListener('click', () => setLanguageMode("cantonese"));
4189        mandarinBtn.addEventListener('click', () => setLanguageMode("mandarin"));
4190        
4191        // Event listeners for game mode
4192        normalGameBtn.addEventListener('click', () => setGameMode("normal"));
4193        mirrorGameBtn.addEventListener('click', () => setGameMode("mirror"));
4194        
4195        // Other event listeners
4196        prevCharBtn.addEventListener('click', prevCharacter);
4197        nextCharBtn.addEventListener('click', nextCharacter);
4198        playAudio.addEventListener('click', playCharacterAudio);
4199        quizPlayAudio.addEventListener('click', playQuizAudio);
4200        restartGameBtn.addEventListener('click', initMatchingGame);
4201        submitCertificateBtn.addEventListener('click', generateCertificate);
4202        closeModalBtn.addEventListener('click', () => certificateOverlay.style.display = 'none');
4203        
4204        // Close certificate modal when clicking outside
4205        certificateOverlay.addEventListener('click', function(event) {
4206            if (event.target === certificateOverlay) {
4207                certificateOverlay.style.display = 'none';
4208            }
4209        });
4210        
4211        // Ensure voices are loaded for speech synthesis
4212        function loadVoices() {
4213            window.speechSynthesis.getVoices();
4214        }
4215        
4216        if (window.speechSynthesis) {
4217            loadVoices();
4218            window.speechSynthesis.onvoiceschanged = loadVoices;
4219        }
4220        
4221        // Initialize the app
4222        initApp();
4223    </script>
4223
4224</body>
4225</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.