{"id":12937,"date":"2025-07-23T22:56:09","date_gmt":"2025-07-23T14:56:09","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=12937"},"modified":"2026-09-08T12:33:03","modified_gmt":"2026-09-08T04:33:03","slug":"contemporary-chinese-vocabulary-practice-b1l9","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/","title":{"rendered":"B1 L9 Vocabulary and Practice"},"content":{"rendered":"\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  \u7576\u4ee3\u4e2d\u6587 Book 1 \u00b7 Lesson 9 \u300c\u653e\u5047\u53bb\u54ea\u88e1\u73a9\uff1f\u300d Where Will You Go for the Holidays? \u2014 Vocabulary Embed\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  CORRECTED VERSION \u2014 the earlier draft was built before \u751f\u8a5e\u4e8c (p.187) was\n  available and only had the 14 items from \u751f\u8a5e\u4e00 (p.184), plus five words\n  that don't actually belong to this lesson: \u5929 and \u73a9 were already taught\n  in Lesson 7\/8, \u975e\u5e38 was taught in Lesson 8, and \u5730\u65b9\/\u4e0d\u4e00\u5b9a aren't in\n  either of this lesson's official vocabulary tables (\u5730\u65b9 appears inside\n  the real dialogue but isn't a listed headword; \u4e0d\u4e00\u5b9a likewise). This\n  version uses the complete, verified 30-word set: 9 words + 4 phrases + 1\n  name from \u751f\u8a5e\u4e00 (p.184), plus 15 words + 1 name from \u751f\u8a5e\u4e8c (p.187).\n\n    - Same technical pattern as before:\n        - No <!DOCTYPE>\/<html>\/<head>\/<body>, no page-level toggle UI (the\n          site's own Text Display \/ Pinyin Display toggle covers that)\n        - CSS scoped under .dangdai-b1l9-vocab-embed with its own --db9-*\n          variables, same oxblood\/mustard\/sage\/bone palette as other lessons\n        - Ruby: every example\/dialogue sentence segmented WORD BY WORD into\n          its own ruby+pinyin chunk, punctuation is plain text, not ruby\n        - Root lookup by id (#dangdai-b1l9-vocab-embed-1), not currentScript\n        - Speaker buttons: inline SVG play-triangle icon, flex-locked to a\n          true circle (flex:0 0 26px; padding:0), data-trad\/data-simp + one\n          delegated click listener using the Web Speech API\n        - W(t,s,p) = shared pinyin; WD(t,s,pt,ps) defined for parity but\n          UNUSED this lesson (no neutral-tone TW\/CN split found)\n        - Traditional\/Simplified conversion: every piece of Chinese text\n          uses the site's own shared `lang-zh-TW` \/ `lang-zh-CN` classes, so\n          the site's existing cookie-driven, hyperscript-powered Text\n          Display toggle shows\/hides them automatically \u2014 including content\n          this script injects after page load. NO separate cookie-reading\n          JS is added here.\n        - Because the site's toggle script reaches into every lang-zh-TW\/\n          lang-zh-CN element it finds (including <ruby>\/<rt> here) and can\n          zero out font-size or force text color, `ruby`\/`.rb`\/`rt` all get\n          their color and font-size pinned with `!important`\n        - No literal `&&` appears inside the <script> tag (WordPress's\n          content filter can mangle it into `&#038;&#038;` and break the\n          script) \u2014 every spot that needs two chained conditions uses\n          nested `if` blocks instead\n        - Match It's tile pinyin reads `(w.pt || w.p)`, never plain `w.p`,\n          so a WD() word never renders literally as \"undefined\"\n\n    - Vocabulary sourced directly from \u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b 1, Lesson 9, pages 184\n      and 187 (\u751f\u8a5e\u4e00 \/ \u751f\u8a5e\u4e8c). Pinyin (including spacing for multi-word\n      phrases like \"xi\u00e0 ge x\u012bngq\u00ed\", \"y\u01d2u sh\u00edh\u00f2u\", \"du\u014d ji\u01d4\") copied exactly\n      as printed in those tables. \u661f\u671f and \u6708\/\u865f are listed in the book as\n      \"number + \u661f\u671f\/\u6708\/\u865f\" patterns; the headword cards below note that.\n    - All example sentences are ORIGINAL \u2014 none are lifted from the\n      textbook's two dialogues \u2014 but they're written to demonstrate this\n      lesson's actual grammar points: time expressions with \u4e0b\u500b\/\u865f\/\u6708,\n      \u6709\u6642\u5019...\u6709\u6642\u5019... (\"sometimes...sometimes...\"), and \u8981\u662f...\u5c31...\n      (\"if...then...\").\n    - Verified trad\/simp CHARACTER pairs individually: \u56de\u570b\/\u56de\u56fd, \u96fb\u8996\/\n      \u7535\u89c6, \u81fa\u6771\/\u53f0\u4e1c, \u6709\u6642\u5019\/\u6709\u65f6\u5019, \u529f\u8ab2\/\u529f\u8bfe, \u4e0b\u500b\/\u4e0b\u4e2a, \u865f\/\u53f7, \u5e36\/\u5e26,\n      \u9084\/\u8fd8, \u5efa\u8b70\/\u5efa\u8bae, \u61c9\u8a72\/\u5e94\u8be5, \u7279\u5225\/\u7279\u522b, \u8336\u9928\/\u8336\u9986, \u6c7a\u5b9a\/\u51b3\u5b9a,\n      \u8c93\u7a7a\/\u732b\u7a7a\n    - Top-of-page support note + a disclaimer above the invented practice\n      dialogue (both first person, \"I\"), same as L1-L8\n-->\n<div class=\"dangdai-b1l9-vocab-embed\" id=\"dangdai-b1l9-vocab-embed-1\">\n<style>\n.dangdai-b1l9-vocab-embed {\n  --db9-oxblood: #7b2d26;\n  --db9-oxblood-dark: #5e211c;\n  --db9-mustard: #c9922b;\n  --db9-sage: #7c8b6f;\n  --db9-bone: #f7f1e6;\n  --db9-ink: #2c2620;\n  --db9-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--db9-ink);\n  background: #fff;\n  max-width: 760px;\n  margin: 0 auto;\n  padding: 8px 4px 24px;\n  line-height: 1.6;\n}\n.dangdai-b1l9-vocab-embed * { box-sizing: border-box; }\n.dangdai-b1l9-vocab-embed h1,\n.dangdai-b1l9-vocab-embed h2,\n.dangdai-b1l9-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--db9-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b1l9-vocab-embed .db9-support-note {\n  font-size: 0.85rem;\n  color: var(--db9-sage);\n  border-bottom: 1px solid var(--db9-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b1l9-vocab-embed .db9-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--db9-bone);\n  border-left: 4px solid var(--db9-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b1l9-vocab-embed .db9-lede b { color: var(--db9-oxblood-dark); }\n.dangdai-b1l9-vocab-embed .db9-sec-eyebrow {\n  display: inline-block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  letter-spacing: 0.08em;\n  color: #fff;\n  background: var(--db9-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b1l9-vocab-embed .db9-word-card {\n  border: 1px solid var(--db9-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b1l9-vocab-embed .db9-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b1l9-vocab-embed .db9-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--db9-mustard);\n  min-width: 22px;\n}\n.dangdai-b1l9-vocab-embed .db9-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b1l9-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--db9-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l9-vocab-embed .rb {\n  color: var(--db9-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l9-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--db9-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b1l9-vocab-embed rt.hidden { display: none; }\n.dangdai-b1l9-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b1l9-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b1l9-vocab-embed .db9-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b1l9-vocab-embed .db9-speaker {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  flex: 0 0 26px;\n  width: 26px;\n  height: 26px;\n  padding: 0;\n  border: none;\n  background: var(--db9-bone);\n  color: var(--db9-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b1l9-vocab-embed .db9-speaker:hover { background: var(--db9-mustard); color: #fff; }\n.dangdai-b1l9-vocab-embed .db9-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--db9-line);\n  font-size: 0.95rem;\n}\n.dangdai-b1l9-vocab-embed .db9-example .db9-sent-word { display: inline-flex; }\n.dangdai-b1l9-vocab-embed .db9-example .db9-punct { margin-right: 2px; }\n.dangdai-b1l9-vocab-embed .db9-example .db9-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b1l9-vocab-embed .db9-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b1l9-vocab-embed .db9-dialogue {\n  background: var(--db9-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b1l9-vocab-embed .db9-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b1l9-vocab-embed .db9-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--db9-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b1l9-vocab-embed .db9-line-body { flex: 1; min-width: 200px; }\n.dangdai-b1l9-vocab-embed .db9-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b1l9-vocab-embed .db9-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b1l9-vocab-embed .db9-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b1l9-vocab-embed .db9-flashcard {\n  position: relative;\n  width: 100%;\n  height: 230px;\n  cursor: pointer;\n  transform-style: preserve-3d;\n  transition: transform 0.5s;\n}\n.dangdai-b1l9-vocab-embed .db9-flashcard.db9-flipped { transform: rotateY(180deg); }\n.dangdai-b1l9-vocab-embed .db9-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--db9-line);\n  border-radius: 12px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  background: #fff;\n  text-align: center;\n}\n.dangdai-b1l9-vocab-embed .db9-fc-back { transform: rotateY(180deg); background: var(--db9-bone); }\n.dangdai-b1l9-vocab-embed .db9-fc-front .db9-hanzi { font-size: 4rem !important; }\n.dangdai-b1l9-vocab-embed .db9-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b1l9-vocab-embed .db9-fc-back .db9-meaning { font-style: italic; color: var(--db9-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b1l9-vocab-embed .db9-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b1l9-vocab-embed .db9-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--db9-oxblood);\n  color: var(--db9-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b1l9-vocab-embed .db9-game-btn:hover { background: var(--db9-oxblood); color: #fff; }\n.dangdai-b1l9-vocab-embed .db9-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b1l9-vocab-embed .db9-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--db9-sage); }\n.dangdai-b1l9-vocab-embed .db9-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b1l9-vocab-embed .db9-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b1l9-vocab-embed .db9-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--db9-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--db9-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b1l9-vocab-embed .db9-tile .db9-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--db9-sage);\n  margin-top: 2px;\n}\n.dangdai-b1l9-vocab-embed .db9-tile:hover:not(.db9-matched):not(.db9-selected) { border-color: var(--db9-mustard); }\n.dangdai-b1l9-vocab-embed .db9-tile.db9-selected { border-color: var(--db9-oxblood); background: var(--db9-bone); }\n.dangdai-b1l9-vocab-embed .db9-tile.db9-matched { border-color: var(--db9-sage); background: #eef2e9; color: var(--db9-sage); cursor: default; }\n.dangdai-b1l9-vocab-embed .db9-tile.db9-wrong { border-color: #b5453d; background: #fbeceb; animation: db9-shake 0.3s; }\n@keyframes db9-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b1l9-vocab-embed .db9-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--db9-oxblood-dark); display: none; }\n.dangdai-b1l9-vocab-embed .db9-game-win.db9-show { display: block; }\n@media (max-width: 480px) { .dangdai-b1l9-vocab-embed .db9-game-board { grid-template-columns: 1fr; } }\n.dangdai-b1l9-vocab-embed .db9-quiz { background: #fff; border: 1px solid var(--db9-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b1l9-vocab-embed .db9-quiz-progress { font-size: 0.82rem; color: var(--db9-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b1l9-vocab-embed .db9-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b1l9-vocab-embed .db9-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b1l9-vocab-embed .db9-quiz-opt { text-align: left; border: 1px solid var(--db9-line); background: var(--db9-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--db9-ink); }\n.dangdai-b1l9-vocab-embed .db9-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b1l9-vocab-embed .db9-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b1l9-vocab-embed .db9-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--db9-oxblood); color: var(--db9-oxblood-dark); }\n.dangdai-b1l9-vocab-embed .db9-quiz-opt[disabled] { cursor: default; }\n.dangdai-b1l9-vocab-embed .db9-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b1l9-vocab-embed .db9-quiz-input { flex: 1 1 200px; border: 1px solid var(--db9-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b1l9-vocab-embed .db9-quiz-submit, .dangdai-b1l9-vocab-embed .db9-quiz-next, .dangdai-b1l9-vocab-embed .db9-quiz-retake { border: none; background: var(--db9-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b1l9-vocab-embed .db9-quiz-submit:hover, .dangdai-b1l9-vocab-embed .db9-quiz-next:hover, .dangdai-b1l9-vocab-embed .db9-quiz-retake:hover { background: var(--db9-oxblood-dark); }\n.dangdai-b1l9-vocab-embed .db9-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b1l9-vocab-embed .db9-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b1l9-vocab-embed .db9-quiz-feedback.incorrect { color: var(--db9-oxblood-dark); }\n.dangdai-b1l9-vocab-embed .db9-quiz-score { text-align: center; }\n.dangdai-b1l9-vocab-embed .db9-quiz-score .db9-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--db9-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"db9-support-note\"><em>A note before you start: I&#8217;d love for you to support the official textbook \u2014 this page is only meant as a review tool for people who already own a copy, not a replacement for it.<\/em><\/p>\n\n<p class=\"db9-lede\">\n<b><span class=\"lang-zh-TW\">\u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b<\/span><span class=\"lang-zh-CN\">\u5f53\u4ee3\u4e2d\u6587\u8bfe\u7a0b<\/span> Book 1 \u00b7 Lesson 9\u300c\u653e\u5047\u53bb\u54ea\u88e1\u73a9\uff1f\u300dWhere Will You Go for the Holidays?<\/b> \u2014 the vocabulary from this lesson, with pinyin, meaning, and an example sentence for every word, segmented word by word so you can see how each piece works on its own.\n<\/p>\n\n<div class=\"db9-sec-eyebrow\">01 \u2014 HOLIDAYS &amp; TRAVEL<\/div>\n<div id=\"db9-word-list-1\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">02 \u2014 TIME EXPRESSIONS<\/div>\n<p style=\"font-size:0.88rem;color:#6b5f52;margin:0 0 10px;\">The book presents <b>\u661f\u671f<\/b>, <b>\u6708<\/b>, and <b>\u865f<\/b> as &#8220;number + \u661f\u671f\/\u6708\/\u865f&#8221; patterns \u2014 e.g. \u4e5d\u6708 (&#8220;September&#8221;), \u4e09\u5341\u865f (&#8220;the 30th&#8221;) \u2014 rather than standalone words.<\/p>\n<div id=\"db9-word-list-2\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">03 \u2014 AT HOME &amp; ACTIVITIES<\/div>\n<div id=\"db9-word-list-3\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">04 \u2014 PEOPLE<\/div>\n<div id=\"db9-word-list-4\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">05 \u2014 SUGGESTIONS &amp; PLACES<\/div>\n<div id=\"db9-word-list-5\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">06 \u2014 GRAMMAR WORDS<\/div>\n<p style=\"font-size:0.88rem;color:#6b5f52;margin:0 0 10px;\"><b>\u8981\u662f\u2026\u5c31\u2026<\/b> (&#8220;if&#8230;then&#8230;&#8221;) is this lesson&#8217;s key hypothetical-sentence pattern \u2014 see how the last example uses both words together.<\/p>\n<div id=\"db9-word-list-6\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">07 \u2014 PUT IT TOGETHER<\/div>\n<p class=\"db9-dialogue-note\"><em>Note: this dialogue is not from the textbook \u2014 it&#8217;s a short conversation I made up using the vocabulary above so you can see the words used together. For the actual Lesson 9 dialogues, I&#8217;d recommend picking up a copy of the textbook itself.<\/em><\/p>\n<div class=\"db9-dialogue\" id=\"db9-dialogue\"><\/div>\n\n<div class=\"db9-sec-eyebrow\">08 \u2014 FLASHCARDS<\/div>\n<p class=\"db9-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"db9-flashcard-wrap\">\n  <div class=\"db9-flashcard\" id=\"db9-flashcard\">\n    <div class=\"db9-fc-face db9-fc-front\" id=\"db9-fc-front\"><\/div>\n    <div class=\"db9-fc-face db9-fc-back\" id=\"db9-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"db9-flashcard-controls\">\n  <button class=\"db9-game-btn\" id=\"db9-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"db9-game-status\" id=\"db9-fc-progress\">1 \/ 30<\/span>\n  <button class=\"db9-game-btn\" id=\"db9-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"db9-sec-eyebrow\">09 \u2014 MATCH IT<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">Tap a Chinese word, then tap the English meaning that matches it. Get all 8 pairs to finish the round.<\/p>\n<div class=\"db9-game-bar\">\n  <button class=\"db9-game-btn\" id=\"db9-game-new\">New Round<\/button>\n  <span class=\"db9-game-status\" id=\"db9-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"db9-game-board\">\n  <div class=\"db9-game-col\" id=\"db9-game-col-zh\"><\/div>\n  <div class=\"db9-game-col\" id=\"db9-game-col-en\"><\/div>\n<\/div>\n<div class=\"db9-game-win\" id=\"db9-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"db9-sec-eyebrow\">10 \u2014 VOCABULARY QUIZ<\/div>\n<p style=\"font-size:0.9rem;color:#6b5f52;margin:0 0 10px;\">15 questions covering this lesson&#8217;s vocabulary \u2014 a mix of multiple choice and type-the-answer.<\/p>\n<div class=\"db9-quiz\" id=\"db9-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b1l9-vocab-embed-1');\n  if (!root) return;\n\n  var SPEAKER_SVG = '<svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"currentColor\" aria-hidden=\"true\">' +\n    '<path d=\"M7 4.5v15l13-7.5z\"><\/path>' +\n    '<\/svg>';\n\n  function W(t, s, p) { return { t: t, s: s, pt: p, ps: p }; }\n  function WD(t, s, pt, ps) { return { t: t, s: s, pt: pt, ps: ps }; }\n\n  var GROUPS = {\n    \/\/ \u751f\u8a5e\u4e00 p.184 \u2014 holidays & travel\n    'db9-word-list-1': [\n      { t: '\u653e\u5047', s: '\u653e\u5047', p: 'f\u00e0ngji\u00e0', meaning: 'to have a holiday; to be on vacation',\n        ex: [W('\u4e0b\u500b','\u4e0b\u4e2a','Xi\u00e0ge'), W('\u661f\u671f','\u661f\u671f','x\u012bngq\u00ed'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u653e\u5047','\u653e\u5047','f\u00e0ngji\u00e0'), '\u3002'],\n        exEn: \"Next week we're on holiday.\" },\n      { t: '\u6253\u7b97', s: '\u6253\u7b97', p: 'd\u01cesu\u00e0n', meaning: 'to plan to',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u653e\u5047','\u653e\u5047','f\u00e0ngji\u00e0'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u505a','\u505a','zu\u00f2'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), '\uff1f'],\n        exEn: 'What do you plan to do during the holiday?' },\n      { t: '\u56de\u570b', s: '\u56de\u56fd', p: 'hu\u00edgu\u00f3', meaning: \"to return to one's country\",\n        ex: [W('\u653e\u5047','\u653e\u5047','F\u00e0ngji\u00e0'), W('\u4f60','\u4f60','n\u01d0'), W('\u8981','\u8981','y\u00e0o'), W('\u56de\u570b','\u56de\u56fd','hu\u00edgu\u00f3'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: \"Are you going back to your home country for the holiday?\" },\n      { t: '\u65c5\u884c', s: '\u65c5\u884c', p: 'l\u01dax\u00edng', meaning: 'to travel',\n        ex: [W('\u653e\u5047','\u653e\u5047','F\u00e0ngji\u00e0'), W('\u7684','\u7684','de'), W('\u6642\u5019','\u65f6\u5019','sh\u00edh\u00f2u'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u5e38','\u5e38','ch\u00e1ng'), W('\u53bb','\u53bb','q\u00f9'), W('\u65c5\u884c','\u65c5\u884c','l\u01dax\u00edng'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'During holidays, do you often travel?' },\n      { t: '\u51fa\u53bb', s: '\u51fa\u53bb', p: 'ch\u016bq\u00f9', meaning: 'to go out',\n        ex: [W('\u6709\u6642\u5019','\u6709\u65f6\u5019','Y\u01d2u sh\u00edh\u00f2u'), W('\u6211','\u6211','w\u01d2'), W('\u51fa\u53bb','\u51fa\u53bb','ch\u016bq\u00f9'), '\uff0c', W('\u6709\u6642\u5019','\u6709\u65f6\u5019','y\u01d2u sh\u00edh\u00f2u'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), '\u3002'],\n        exEn: 'Sometimes I go out, sometimes I stay home.' },\n      { t: '\u5927\u6982', s: '\u5927\u6982', p: 'd\u00e0g\u00e0i', meaning: 'approximately; about, probably',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u5927\u6982','\u5927\u6982','d\u00e0g\u00e0i'), W('\u73a9','\u73a9','w\u00e1n'), W('\u56db','\u56db','s\u00ec'), '\u3001', W('\u4e94','\u4e94','w\u01d4'), W('\u5929','\u5929','ti\u0101n'), '\u3002'],\n        exEn: \"We'll play for about four or five days.\" }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.184 \u2014 time expressions\n    'db9-word-list-2': [\n      { t: '\u661f\u671f', s: '\u661f\u671f', p: 'x\u012bngq\u00ed', meaning: 'week',\n        ex: [W('\u4e0b\u500b','\u4e0b\u4e2a','Xi\u00e0ge'), W('\u661f\u671f','\u661f\u671f','x\u012bngq\u00ed'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u653e\u5047','\u653e\u5047','f\u00e0ngji\u00e0'), '\u3002'],\n        exEn: \"Next week we're on holiday.\" },\n      { t: '\u4e0b\u500b\u661f\u671f', s: '\u4e0b\u4e2a\u661f\u671f', p: 'xi\u00e0 ge x\u012bngq\u00ed', meaning: 'next week',\n        ex: [W('\u4e0b\u500b','\u4e0b\u4e2a','Xi\u00e0ge'), W('\u661f\u671f','\u661f\u671f','x\u012bngq\u00ed'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u653e\u5047','\u653e\u5047','f\u00e0ngji\u00e0'), '\u3002'],\n        exEn: \"Next week we're on holiday.\" },\n      { t: '\u591a\u4e45', s: '\u591a\u4e45', p: 'du\u014d ji\u01d4', meaning: 'how long',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u8981','\u8981','y\u00e0o'), W('\u53bb','\u53bb','q\u00f9'), W('\u73a9','\u73a9','w\u00e1n'), W('\u591a\u4e45','\u591a\u4e45','du\u014dji\u01d4'), '\uff1f'],\n        exEn: 'How long will you go play for?' },\n      { t: '\u6709\u6642\u5019', s: '\u6709\u65f6\u5019', p: 'y\u01d2u sh\u00edh\u00f2u', meaning: 'sometimes',\n        ex: [W('\u6709\u6642\u5019','\u6709\u65f6\u5019','Y\u01d2u sh\u00edh\u00f2u'), W('\u6211','\u6211','w\u01d2'), W('\u51fa\u53bb','\u51fa\u53bb','ch\u016bq\u00f9'), '\uff0c', W('\u6709\u6642\u5019','\u6709\u65f6\u5019','y\u01d2u sh\u00edh\u00f2u'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), '\u3002'],\n        exEn: 'Sometimes I go out, sometimes I stay home.' },\n      { t: '\u6708', s: '\u6708', p: 'yu\u00e8', meaning: 'month (number + \u6708)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5973','\u5973','n\u01da'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u4e5d','\u4e5d','ji\u01d4'), W('\u6708','\u6708','yu\u00e8'), W('\u8981','\u8981','y\u00e0o'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), '\u3002'],\n        exEn: 'My girlfriend is coming to Taiwan in September.' },\n      { t: '\u865f', s: '\u53f7', p: 'h\u00e0o', meaning: 'date, day of a month (number + \u865f)',\n        ex: [W('\u5979','\u5979','T\u0101'), W('\u4e09\u5341','\u4e09\u5341','s\u0101nsh\u00ed'), W('\u865f','\u53f7','h\u00e0o'), W('\u5230','\u5230','d\u00e0o'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), '\u3002'],\n        exEn: 'She arrives in Taiwan on the 30th.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.184 \u2014 at home & activities\n    'db9-word-list-3': [\n      { t: '\u96fb\u8996', s: '\u7535\u89c6', p: 'di\u00e0nsh\u00ec', meaning: 'television',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u770b','\u770b','k\u00e0n'), W('\u96fb\u8996','\u7535\u89c6','di\u00e0nsh\u00ec'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n        exEn: 'I plan to stay home and watch TV to learn Chinese.' },\n      { t: '\u5f71\u7247', s: '\u5f71\u7247', p: 'y\u01d0ngpi\u00e0n', meaning: 'film; video',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u770b','\u770b','k\u00e0n'), W('\u96fb\u8996','\u7535\u89c6','di\u00e0nsh\u00ec'), '\u3001', W('\u5f71\u7247','\u5f71\u7247','y\u01d0ngpi\u00e0n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\u3002'],\n        exEn: 'I plan to stay home and watch TV and videos to learn Chinese.' },\n      { t: '\u529f\u8ab2', s: '\u529f\u8bfe', p: 'g\u014dngk\u00e8', meaning: 'homework',\n        ex: [W('\u6709\u6642\u5019','\u6709\u65f6\u5019','Y\u01d2u sh\u00edh\u00f2u'), W('\u6211','\u6211','w\u01d2'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u5beb','\u5199','xi\u011b'), W('\u529f\u8ab2','\u529f\u8bfe','g\u014dngk\u00e8'), '\u3002'],\n        exEn: 'Sometimes I do homework at home.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.187 \u2014 people\n    'db9-word-list-4': [\n      { t: '\u5973', s: '\u5973', p: 'n\u01da', meaning: 'girl-, female- (as in \u5973\u670b\u53cb)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5973','\u5973','n\u01da'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u4e5d','\u4e5d','ji\u01d4'), W('\u6708','\u6708','yu\u00e8'), W('\u8981','\u8981','y\u00e0o'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), '\u3002'],\n        exEn: 'My girlfriend is coming to Taiwan in September.' },\n      { t: '\u5979', s: '\u5979', p: 't\u0101', meaning: 'she, her',\n        ex: [W('\u5979','\u5979','T\u0101'), W('\u4e09\u5341','\u4e09\u5341','s\u0101nsh\u00ed'), W('\u865f','\u53f7','h\u00e0o'), W('\u5230','\u5230','d\u00e0o'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), '\u3002'],\n        exEn: 'She arrives in Taiwan on the 30th.' },\n      { t: '\u5e36', s: '\u5e26', p: 'd\u00e0i', meaning: 'to take (someone somewhere)',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u5e36','\u5e26','d\u00e0i'), W('\u5979','\u5979','t\u0101'), W('\u53bb','\u53bb','q\u00f9'), W('\u54ea\u88e1','\u54ea\u91cc','n\u01cel\u01d0'), W('\u73a9','\u73a9','w\u00e1n'), '\uff1f'],\n        exEn: 'Where do you want to take her to have fun?' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.187 \u2014 suggestions & places\n    'db9-word-list-5': [\n      { t: '\u5efa\u8b70', s: '\u5efa\u8bae', p: 'ji\u00e0ny\u00ec', meaning: 'suggestion',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u6709','\u6709','y\u01d2u'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u5efa\u8b70','\u5efa\u8bae','ji\u00e0ny\u00ec'), '\uff1f'],\n        exEn: 'Do you have any suggestions?' },\n      { t: '\u591c\u5e02', s: '\u591c\u5e02', p: 'y\u00e8sh\u00ec', meaning: 'night market',\n        ex: [W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u7684','\u7684','de'), W('\u591c\u5e02','\u591c\u5e02','y\u00e8sh\u00ec'), W('\u5f88','\u5f88','h\u011bn'), W('\u6709\u540d','\u6709\u540d','y\u01d2um\u00edng'), '\u3002'],\n        exEn: \"Taiwan's night markets are very famous.\" },\n      { t: '\u61c9\u8a72', s: '\u5e94\u8be5', p: 'y\u012bngg\u0101i', meaning: 'should',\n        ex: [W('\u4f60\u5011','\u4f60\u4eec','N\u01d0men'), W('\u61c9\u8a72','\u5e94\u8be5','y\u012bngg\u0101i'), W('\u53bb','\u53bb','q\u00f9'), W('\u901b\u901b','\u901b\u901b','gu\u00e0nggu\u00e0ng'), '\u3002'],\n        exEn: 'You should go take a look around.' },\n      { t: '\u901b', s: '\u901b', p: 'gu\u00e0ng', meaning: 'to wander around, to look around',\n        ex: [W('\u4f60\u5011','\u4f60\u4eec','N\u01d0men'), W('\u61c9\u8a72','\u5e94\u8be5','y\u012bngg\u0101i'), W('\u53bb','\u53bb','q\u00f9'), W('\u901b\u901b','\u901b\u901b','gu\u00e0nggu\u00e0ng'), '\u3002'],\n        exEn: 'You should go take a look around.' },\n      { t: '\u7279\u5225', s: '\u7279\u522b', p: 't\u00e8bi\u00e9', meaning: 'special',\n        ex: [W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u7684','\u7684','de'), W('\u8336','\u8336','ch\u00e1'), W('\u5f88','\u5f88','h\u011bn'), W('\u7279\u5225','\u7279\u522b','t\u00e8bi\u00e9'), '\u3002'],\n        exEn: 'Taiwanese tea is very special.' },\n      { t: '\u8336\u9928', s: '\u8336\u9986', p: 'ch\u00e1gu\u01cen', meaning: 'tea house',\n        ex: [W('\u81fa\u5317','\u53f0\u5317','T\u00e1ib\u011bi'), W('\u6709','\u6709','y\u01d2u'), W('\u5f88\u591a','\u5f88\u591a','h\u011bndu\u014d'), W('\u8336\u9928','\u8336\u9986','ch\u00e1gu\u01cen'), '\u3002'],\n        exEn: 'Taipei has many tea houses.' },\n      { t: '\u81fa\u6771', s: '\u53f0\u4e1c', p: 'T\u00e1id\u014dng', meaning: 'Taitung (a city on the southeastern coast of Taiwan)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u6771','\u53f0\u4e1c','T\u00e1id\u014dng'), W('\u73a9','\u73a9','w\u00e1n'), '\u3002'],\n        exEn: 'I want to go to Taitung to have fun.' },\n      { t: '\u8c93\u7a7a', s: '\u732b\u7a7a', p: 'M\u0101ok\u014dng', meaning: 'Maokong (a place in Taipei known for tea and scenery)',\n        ex: [W('\u4f60\u5011','\u4f60\u4eec','N\u01d0men'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u53bb','\u53bb','q\u00f9'), W('\u8c93\u7a7a','\u732b\u7a7a','M\u0101ok\u014dng'), W('\u559d','\u559d','h\u0113'), W('\u8336','\u8336','ch\u00e1'), '\u3002'],\n        exEn: 'You can go to Maokong to drink tea.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.187 \u2014 grammar words\n    'db9-word-list-6': [\n      { t: '\u9084', s: '\u8fd8', p: 'h\u00e1i', meaning: 'still, additionally',\n        ex: [W('\u9084','\u8fd8','H\u00e1i'), W('\u6709','\u6709','y\u01d2u'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u597d\u73a9','\u597d\u73a9','h\u01ceow\u00e1n'), W('\u7684','\u7684','de'), W('\u5730\u65b9','\u5730\u65b9','d\u00ecf\u0101ng'), '\uff1f'],\n        exEn: 'What other fun places are there?' },\n      { t: '\u6c7a\u5b9a', s: '\u51b3\u5b9a', p: 'ju\u00e9d\u00ecng', meaning: 'to decide',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u6c7a\u5b9a','\u51b3\u5b9a','ju\u00e9d\u00ecng'), W('\u5e36','\u5e26','d\u00e0i'), W('\u5979','\u5979','t\u0101'), W('\u53bb','\u53bb','q\u00f9'), W('\u8c93\u7a7a','\u732b\u7a7a','M\u0101ok\u014dng'), '\u3002'],\n        exEn: \"I've decided to take her to Maokong.\" },\n      { t: '\u8981\u662f', s: '\u8981\u662f', p: 'y\u00e0osh\u00ec', meaning: 'if',\n        ex: [W('\u8981\u662f','\u8981\u662f','Y\u00e0osh\u00ec'), W('\u90a3','\u90a3','n\u00e0'), W('\u6642\u5019','\u65f6\u5019','sh\u00edh\u00f2u'), W('\u6211','\u6211','w\u01d2'), W('\u6709','\u6709','y\u01d2u'), W('\u7a7a','\u7a7a','k\u00f2ng'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u53bb','\u53bb','q\u00f9'), '\u3002'],\n        exEn: \"If I'm free at that time, then I'll go with you guys.\" },\n      { t: '\u5c31', s: '\u5c31', p: 'ji\u00f9', meaning: 'then',\n        ex: [W('\u8981\u662f','\u8981\u662f','Y\u00e0osh\u00ec'), W('\u90a3','\u90a3','n\u00e0'), W('\u6642\u5019','\u65f6\u5019','sh\u00edh\u00f2u'), W('\u6211','\u6211','w\u01d2'), W('\u6709','\u6709','y\u01d2u'), W('\u7a7a','\u7a7a','k\u00f2ng'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u53bb','\u53bb','q\u00f9'), '\u3002'],\n        exEn: \"If I'm free at that time, then I'll go with you guys.\" }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u4e0b\u500b','\u4e0b\u4e2a','Xi\u00e0ge'), W('\u661f\u671f','\u661f\u671f','x\u012bngq\u00ed'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u653e\u5047','\u653e\u5047','f\u00e0ngji\u00e0'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u505a','\u505a','zu\u00f2'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), '\uff1f'],\n      en: \"Next week we're on holiday \u2014 what do you plan to do?\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u6253\u7b97','\u6253\u7b97','d\u01cesu\u00e0n'), W('\u5728','\u5728','z\u00e0i'), W('\u5bb6','\u5bb6','ji\u0101'), W('\u770b','\u770b','k\u00e0n'), W('\u96fb\u8996','\u7535\u89c6','di\u00e0nsh\u00ec'), '\u3001', W('\u5f71\u7247','\u5f71\u7247','y\u01d0ngpi\u00e0n'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u5462','\u5462','ne'), '\uff1f'],\n      en: \"I plan to stay home and watch TV and videos to learn Chinese, how about you?\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u53bb','\u53bb','q\u00f9'), W('\u81fa\u6771','\u53f0\u4e1c','T\u00e1id\u014dng'), W('\u73a9','\u73a9','w\u00e1n'), '\u3002'],\n      en: 'I want to go to Taitung with friends.' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u4e0d\u932f','\u4e0d\u9519','B\u00facu\u00f2'), W('\u554a','\u554a','a'), '\uff0c', W('\u53bb','\u53bb','q\u00f9'), W('\u73a9','\u73a9','w\u00e1n'), W('\u591a\u4e45','\u591a\u4e45','du\u014dji\u01d4'), '\uff1f'],\n      en: 'Nice, how long will you go for?' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u5927\u6982','\u5927\u6982','D\u00e0g\u00e0i'), W('\u56db','\u56db','s\u00ec'), '\u3001', W('\u4e94','\u4e94','w\u01d4'), W('\u5929','\u5929','ti\u0101n'), '\u3002', W('\u5c0d\u4e86','\u5bf9\u4e86','Du\u00ecle'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u5973','\u5973','n\u01da'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u662f','\u662f','sh\u00ec'), W('\u4e0d','\u4e0d','b\u00fa'), W('\u662f','\u662f','sh\u00ec'), W('\u8981','\u8981','y\u00e0o'), W('\u4f86','\u6765','l\u00e1i'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u770b','\u770b','k\u00e0n'), W('\u4f60','\u4f60','n\u01d0'), '\uff1f'],\n      en: \"About four or five days. By the way, isn't your girlfriend coming to Taiwan to see you?\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u5c0d\u554a','\u5bf9\u554a','Du\u00ec a'), '\uff0c', W('\u5979','\u5979','t\u0101'), W('\u4e5d','\u4e5d','ji\u01d4'), W('\u6708','\u6708','yu\u00e8'), W('\u4e09\u5341','\u4e09\u5341','s\u0101nsh\u00ed'), W('\u865f','\u53f7','h\u00e0o'), W('\u5230','\u5230','d\u00e0o'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u9084','\u8fd8','h\u00e1i'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u77e5\u9053','\u77e5\u9053','zh\u012bd\u00e0o'), W('\u8981','\u8981','y\u00e0o'), W('\u5e36','\u5e26','d\u00e0i'), W('\u5979','\u5979','t\u0101'), W('\u53bb','\u53bb','q\u00f9'), W('\u54ea\u88e1','\u54ea\u91cc','n\u01cel\u01d0'), W('\u73a9','\u73a9','w\u00e1n'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u6709','\u6709','y\u01d2u'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u5efa\u8b70','\u5efa\u8bae','ji\u00e0ny\u00ec'), '\uff1f'],\n      en: \"Yeah, she arrives on September 30th \u2014 I still don't know where to take her, do you have any suggestions?\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u7684','\u7684','de'), W('\u591c\u5e02','\u591c\u5e02','y\u00e8sh\u00ec'), W('\u5f88','\u5f88','h\u011bn'), W('\u6709\u540d','\u6709\u540d','y\u01d2um\u00edng'), '\uff0c', W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u61c9\u8a72','\u5e94\u8be5','y\u012bngg\u0101i'), W('\u53bb','\u53bb','q\u00f9'), W('\u901b\u901b','\u901b\u901b','gu\u00e0nggu\u00e0ng'), '\u3002'],\n      en: \"Taiwan's night markets are very famous, you two should go take a look around.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), '\uff0c', W('\u9084','\u8fd8','h\u00e1i'), W('\u6709','\u6709','y\u01d2u'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u597d\u73a9','\u597d\u73a9','h\u01ceow\u00e1n'), W('\u7684','\u7684','de'), W('\u5730\u65b9','\u5730\u65b9','d\u00ecf\u0101ng'), '\uff1f'],\n      en: 'Okay, what other fun places are there?' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u4f60\u5011','\u4f60\u4eec','N\u01d0men'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u53bb','\u53bb','q\u00f9'), W('\u8c93\u7a7a','\u732b\u7a7a','M\u0101ok\u014dng'), W('\u559d','\u559d','h\u0113'), W('\u8336','\u8336','ch\u00e1'), '\uff0c', W('\u90a3\u88e1','\u90a3\u91cc','n\u00e0l\u01d0'), W('\u5f88','\u5f88','h\u011bn'), W('\u7279\u5225','\u7279\u522b','t\u00e8bi\u00e9'), '\uff0c', W('\u98a8\u666f','\u98ce\u666f','f\u0113ngj\u01d0ng'), W('\u4e5f','\u4e5f','y\u011b'), W('\u5f88','\u5f88','h\u011bn'), W('\u7f8e','\u7f8e','m\u011bi'), '\u3002'],\n      en: \"You could go to Maokong for tea, it's very special and the scenery is beautiful too.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u8b1d\u8b1d','\u8c22\u8c22','Xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\uff01', W('\u6211','\u6211','w\u01d2'), W('\u6c7a\u5b9a','\u51b3\u5b9a','ju\u00e9d\u00ecng'), W('\u5e36','\u5e26','d\u00e0i'), W('\u5979','\u5979','t\u0101'), W('\u53bb','\u53bb','q\u00f9'), W('\u8c93\u7a7a','\u732b\u7a7a','M\u0101ok\u014dng'), '\uff0c', W('\u8981\u662f','\u8981\u662f','y\u00e0osh\u00ec'), W('\u4f60','\u4f60','n\u01d0'), W('\u6709','\u6709','y\u01d2u'), W('\u7a7a','\u7a7a','k\u00f2ng'), '\uff0c', W('\u5c31','\u5c31','ji\u00f9'), W('\u8ddf','\u8ddf','g\u0113n'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u4e00\u8d77','\u4e00\u8d77','y\u00ecq\u01d0'), W('\u53bb','\u53bb','q\u00f9'), '\u3002'],\n      en: \"Thanks! I've decided to take her to Maokong \u2014 if you're free, come with us.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), W('\u554a','\u554a','a'), '\uff01'],\n      en: 'Sure!' }\n  ];\n\n  var ALL_WORDS = [];\n  Object.keys(GROUPS).forEach(function (k) {\n    GROUPS[k].forEach(function (w) { ALL_WORDS.push(w); });\n  });\n\n  function rubyWord(w) {\n    return '<span class=\"db9-sent-word\">' +\n      '<ruby class=\"lang-zh-TW\"><span class=\"rb\">' + w.t + '<\/span><rt>' + w.pt + '<\/rt><\/ruby>' +\n      '<ruby class=\"lang-zh-CN\"><span class=\"rb\">' + w.s + '<\/span><rt>' + w.ps + '<\/rt><\/ruby>' +\n      '<\/span>';\n  }\n\n  function renderTokens(tokens) {\n    var html = '';\n    tokens.forEach(function (tok) {\n      if (typeof tok === 'string') {\n        html += '<span class=\"db9-punct\">' + tok + '<\/span>';\n      } else {\n        html += rubyWord(tok);\n      }\n    });\n    return html;\n  }\n\n  function headwordRuby(t, s, pt, ps) {\n    return '<ruby class=\"lang-zh-TW\"><span class=\"rb\">' + t + '<\/span><rt>' + pt + '<\/rt><\/ruby>' +\n           '<ruby class=\"lang-zh-CN\"><span class=\"rb\">' + s + '<\/span><rt>' + ps + '<\/rt><\/ruby>';\n  }\n\n  var counter = 0;\n  Object.keys(GROUPS).forEach(function (containerId) {\n    var container = root.querySelector('#' + containerId);\n    if (!container) return;\n    var html = '';\n    GROUPS[containerId].forEach(function (w) {\n      counter++;\n      var num = (counter < 10 ? '0' : '') + counter;\n      html += '<div class=\"db9-word-card\">' +\n        '<div class=\"db9-word-top\">' +\n          '<span class=\"db9-num\">' + num + '<\/span>' +\n          '<span class=\"db9-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"db9-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"db9-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"db9-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"db9-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#db9-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"db9-line\">' +\n        '<span class=\"db9-speaker-tag\">' +\n          '<span class=\"lang-zh-TW\">' + line.speakerT + '<\/span>' +\n          '<span class=\"lang-zh-CN\">' + line.speakerS + '<\/span>' +\n        '<\/span>' +\n        '<span class=\"db9-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"db9-line-en\">' + line.en + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#db9-flashcard');\n  var fcFront = root.querySelector('#db9-fc-front');\n  var fcBack = root.querySelector('#db9-fc-back');\n  var fcProgress = root.querySelector('#db9-fc-progress');\n  var fcPrevBtn = root.querySelector('#db9-fc-prev');\n  var fcNextBtn = root.querySelector('#db9-fc-next');\n  var fcIndex = 0;\n  var fcFlipped = false;\n\n  function renderFlashcard() {\n    var w = ALL_WORDS[fcIndex];\n    if (!w || !fcFront || !fcBack) return;\n    fcFront.innerHTML = '<span class=\"db9-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"db9-meaning\">' + w.meaning + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('db9-flipped');\n    fcFlipped = false;\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('db9-flipped', fcFlipped);\n    });\n  }\n  if (fcPrevBtn) fcPrevBtn.addEventListener('click', function () {\n    fcIndex = (fcIndex - 1 + ALL_WORDS.length) % ALL_WORDS.length;\n    renderFlashcard();\n  });\n  if (fcNextBtn) fcNextBtn.addEventListener('click', function () {\n    fcIndex = (fcIndex + 1) % ALL_WORDS.length;\n    renderFlashcard();\n  });\n  renderFlashcard();\n\n  \/\/ ---- Match It game ----\n  var gameColZh = root.querySelector('#db9-game-col-zh');\n  var gameColEn = root.querySelector('#db9-game-col-en');\n  var gameStatus = root.querySelector('#db9-game-status');\n  var gameWin = root.querySelector('#db9-game-win');\n  var gameNewBtn = root.querySelector('#db9-game-new');\n  var gameRound = [];\n  var gameSelectedZh = null;\n  var gameSelectedEn = null;\n  var gameMatchedCount = 0;\n  var gameBusy = false;\n\n  function shuffle(arr) {\n    var a = arr.slice();\n    for (var i = a.length - 1; i > 0; i--) {\n      var j = Math.floor(Math.random() * (i + 1));\n      var tmp = a[i]; a[i] = a[j]; a[j] = tmp;\n    }\n    return a;\n  }\n\n  function startRound() {\n    gameRound = shuffle(ALL_WORDS).slice(0, 8);\n    gameSelectedZh = null;\n    gameSelectedEn = null;\n    gameMatchedCount = 0;\n    gameBusy = false;\n    if (gameWin) gameWin.classList.remove('db9-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"db9-tile\" data-id=\"' + w.t + '\" data-side=\"zh\">' +\n        '<span class=\"lang-zh-TW\">' + w.t + '<\/span><span class=\"lang-zh-CN\">' + w.s + '<\/span>' +\n        '<span class=\"db9-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"db9-tile\" data-id=\"' + w.t + '\" data-side=\"en\">' + w.meaning + '<\/button>';\n    }).join('');\n\n    updateGameStatus();\n  }\n\n  function updateGameStatus() {\n    if (gameStatus) gameStatus.textContent = gameMatchedCount + ' \/ ' + gameRound.length + ' matched';\n  }\n\n  function handleTileClick(tile) {\n    if (gameBusy || tile.classList.contains('db9-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('db9-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('db9-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('db9-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('db9-selected');\n    }\n\n    if (gameSelectedZh) {\n      if (gameSelectedEn) {\n        var zhId = gameSelectedZh.getAttribute('data-id');\n        var enId = gameSelectedEn.getAttribute('data-id');\n        if (zhId === enId) {\n          gameSelectedZh.classList.remove('db9-selected');\n          gameSelectedEn.classList.remove('db9-selected');\n          gameSelectedZh.classList.add('db9-matched');\n          gameSelectedEn.classList.add('db9-matched');\n          gameMatchedCount++;\n          updateGameStatus();\n          gameSelectedZh = null;\n          gameSelectedEn = null;\n          var roundDone = (gameMatchedCount === gameRound.length);\n          if (roundDone) {\n            if (gameWin) {\n              gameWin.classList.add('db9-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('db9-wrong');\n          en.classList.add('db9-wrong');\n          setTimeout(function () {\n            z.classList.remove('db9-selected', 'db9-wrong');\n            en.classList.remove('db9-selected', 'db9-wrong');\n            gameBusy = false;\n          }, 400);\n          gameSelectedZh = null;\n          gameSelectedEn = null;\n        }\n      }\n    }\n  }\n\n  root.addEventListener('click', function (e) {\n    var tile = e.target.closest('.db9-tile');\n    if (tile) {\n      if (root.contains(tile)) handleTileClick(tile);\n    }\n  });\n  if (gameNewBtn) gameNewBtn.addEventListener('click', startRound);\n\n  startRound();\n\n  \/\/ ---- Vocabulary Quiz ----\n  var QUIZ_DATA = [\n    { type: 'mc', prompt: '\u653e\u5047 means...', options: ['to have a holiday; to be on vacation', 'to plan', 'to travel', 'homework'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u6253\u7b97.', accept: ['dasuan'] },\n    { type: 'mc', prompt: 'Which word means \"to return to one\\u2019s home country\"?', options: ['<span class=\"lang-zh-TW\">\u56de\u570b<\/span><span class=\"lang-zh-CN\">\u56de\u56fd<\/span>', '\u51fa\u53bb', '\u65c5\u884c', '\u6253\u7b97'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for \u65c5\u884c.', accept: ['travel', 'to travel'] },\n    { type: 'mc', prompt: 'Which word means \"next\" (as in \"next week\")?', options: ['<span class=\"lang-zh-TW\">\u4e0b\u500b<\/span><span class=\"lang-zh-CN\">\u4e0b\u4e2a<\/span>', '\u661f\u671f', '\u6708', '\u591a\u4e45'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u591a\u4e45.', accept: ['duojiu'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u6709\u6642\u5019<\/span><span class=\"lang-zh-CN\">\u6709\u65f6\u5019<\/span> means...', options: ['sometimes', 'always', 'never', 'still'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u96fb\u8996<\/span><span class=\"lang-zh-CN\">\u7535\u89c6<\/span>.', accept: ['television', 'tv'] },\n    { type: 'mc', prompt: 'Which word means \"suggestion\"?', options: ['<span class=\"lang-zh-TW\">\u5efa\u8b70<\/span><span class=\"lang-zh-CN\">\u5efa\u8bae<\/span>', '\u591c\u5e02', '\u8336\u9928', '\u6c7a\u5b9a'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u61c9\u8a72<\/span><span class=\"lang-zh-CN\">\u5e94\u8be5<\/span>.', accept: ['yinggai'] },\n    { type: 'mc', prompt: '\u901b means...', options: ['to wander around, to look around', 'to decide', 'to take (someone)', 'to suggest'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u7279\u5225<\/span><span class=\"lang-zh-CN\">\u7279\u522b<\/span>.', accept: ['special'] },\n    { type: 'mc', prompt: 'Which word means \"to decide\"?', options: ['<span class=\"lang-zh-TW\">\u6c7a\u5b9a<\/span><span class=\"lang-zh-CN\">\u51b3\u5b9a<\/span>', '\u8981\u662f', '\u5c31', '\u9084'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u8c93\u7a7a<\/span><span class=\"lang-zh-CN\">\u732b\u7a7a<\/span>.', accept: ['maokong'] },\n    { type: 'mc', prompt: 'In the pattern \"\u8981\u662f\u2026\u5c31\u2026\" (\"if...then...\"), which word means \"if\"?', options: ['\u8981\u662f', '\u5c31', '\u9084', '\u5927\u6982'], answer: 0 }\n  ];\n\n  var quizRoot = root.querySelector('#db9-quiz');\n  if (quizRoot) {\n    var quizCurrent = 0;\n    var quizScore = 0;\n    var quizAnswered = false;\n\n    function quizStripTones(s) {\n      return s.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').toLowerCase().replace(\/[^a-z0-9]\/g, '');\n    }\n\n    function renderQuiz() {\n      if (quizCurrent >= QUIZ_DATA.length) { renderQuizScore(); return; }\n      var q = QUIZ_DATA[quizCurrent];\n      quizAnswered = false;\n      var html = '<p class=\"db9-quiz-progress\">Question ' + (quizCurrent + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"db9-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"db9-quiz-options\">';\n        for (var i = 0; i < q.options.length; i++) {\n          html += '<button type=\"button\" class=\"db9-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"db9-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"db9-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"db9-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"db9-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"db9-quiz-next\" style=\"display:none;\">Next<\/button>';\n      quizRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var quizOpts = quizRoot.querySelectorAll('.db9-quiz-opt');\n        quizOpts.forEach(function (btn) {\n          btn.addEventListener('click', function () {\n            if (quizAnswered) return;\n            quizAnswered = true;\n            var i = parseInt(this.getAttribute('data-i'), 10);\n            var correct = i === q.answer;\n            if (correct) quizScore++;\n            quizOpts.forEach(function (b, bi) {\n              b.setAttribute('disabled', 'disabled');\n              if (bi === q.answer) b.classList.add('correct');\n              else if (bi === i) b.classList.add('incorrect');\n            });\n            showQuizFeedback(correct);\n          });\n        });\n      } else {\n        var quizInput = quizRoot.querySelector('.db9-quiz-input');\n        var quizSubmitBtn = quizRoot.querySelector('.db9-quiz-submit');\n        var submitQuizAnswer = function () {\n          if (quizAnswered) return;\n          quizAnswered = true;\n          var val = quizStripTones(quizInput.value || '');\n          var correct = q.accept.indexOf(val) !== -1;\n          if (correct) quizScore++;\n          quizInput.setAttribute('disabled', 'disabled');\n          quizSubmitBtn.setAttribute('disabled', 'disabled');\n          showQuizFeedback(correct, q.accept[0]);\n        };\n        quizSubmitBtn.addEventListener('click', submitQuizAnswer);\n        quizInput.addEventListener('keydown', function (e) {\n          if (e.key === 'Enter') submitQuizAnswer();\n        });\n      }\n\n      function showQuizFeedback(correct, correctAnswer) {\n        var fb = quizRoot.querySelector('.db9-quiz-feedback');\n        if (correct) {\n          fb.textContent = 'Correct!';\n        } else if (correctAnswer) {\n          fb.textContent = 'Not quite \u2014 the answer is \"' + correctAnswer + '\".';\n        } else {\n          fb.textContent = 'Not quite \u2014 check the highlighted answer above.';\n        }\n        fb.className = 'db9-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var quizNextBtn = quizRoot.querySelector('.db9-quiz-next');\n        quizNextBtn.style.display = 'inline-block';\n        quizNextBtn.addEventListener('click', function () {\n          quizCurrent++;\n          renderQuiz();\n        });\n      }\n    }\n\n    function renderQuizScore() {\n      quizRoot.innerHTML =\n        '<div class=\"db9-quiz-score\">' +\n        '<span class=\"db9-quiz-score-num\">' + quizScore + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"db9-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      quizRoot.querySelector('.db9-quiz-retake').addEventListener('click', function () {\n        quizCurrent = 0;\n        quizScore = 0;\n        renderQuiz();\n      });\n    }\n\n    renderQuiz();\n  }\n\n  \/\/ Speaker buttons (event delegation, Web Speech API) \u2014 headword cards only\n  root.addEventListener('click', function (e) {\n    var btn = e.target.closest('.db9-speaker');\n    if (!btn || !root.contains(btn)) return;\n    if (!('speechSynthesis' in window)) return;\n    var showingSimp = false;\n    var simpEl = root.querySelector('.lang-zh-CN');\n    if (simpEl) {\n      if (simpEl.offsetParent !== null) showingSimp = true;\n    }\n    var text = showingSimp ? btn.getAttribute('data-simp') : btn.getAttribute('data-trad');\n    var utter = new SpeechSynthesisUtterance(text);\n    utter.lang = showingSimp ? 'zh-CN' : 'zh-TW';\n    window.speechSynthesis.cancel();\n    window.speechSynthesis.speak(utter);\n  });\n})();\n<\/script>\n<\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-medium is-resized\"><a href=\"https:\/\/ko-fi.com\/tiffanystalk\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"58\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png\" alt=\"\" class=\"wp-image-570\" style=\"width:150px;height:29px\" srcset=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png 300w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-600x115.png 600w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1024x197.png 1024w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-768x148.png 768w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1536x296.png 1536w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-2048x394.png 2048w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-850x164.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption class=\"wp-element-caption\">Do you like it? \ud83d\ude42<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium is-resized\"><a href=\"https:\/\/tiffanysmandarin.com\/index.php\/contemporary-chinese-book-1\/\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"86\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-300x86.png\" alt=\"\" class=\"wp-image-571\" style=\"width:150px;height:43px\" srcset=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-300x86.png 300w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963-600x171.png 600w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/e68f92e59c963.png 700w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":10970,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1099],"tags":[],"class_list":["post-12937","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1099"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>B1 L9 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B1 L9 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-23T14:56:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-08T04:33:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"tiffany\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tiffany\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B1 L9 Vocabulary and Practice\",\"datePublished\":\"2025-07-23T14:56:09+00:00\",\"dateModified\":\"2026-09-08T04:33:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"articleSection\":[\"\u7576\u4ee3\u4e2d\u6587 1\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/\",\"name\":\"B1 L9 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"datePublished\":\"2025-07-23T14:56:09+00:00\",\"dateModified\":\"2026-09-08T04:33:03+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"width\":800,\"height\":300,\"caption\":\"\u7576\u4ee3\u4e2d\u65871\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/07\\\/23\\\/contemporary-chinese-vocabulary-practice-b1l9\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B1 L9 Vocabulary and Practice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\",\"name\":\"OneDotDot Chinese\",\"description\":\"Learn a little Chinese every day\",\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tiffanysmandarin.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\",\"name\":\"tiffany\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"url\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"contentUrl\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"width\":214,\"height\":214,\"caption\":\"tiffany\"},\"logo\":{\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/tiffanys_talk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tiffany-huang-mandarin\\\/\"],\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/author\\\/tiffany\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"B1 L9 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/","og_locale":"en_US","og_type":"article","og_title":"B1 L9 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-07-23T14:56:09+00:00","article_modified_time":"2026-09-08T04:33:03+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","type":"image\/jpeg"}],"author":"tiffany","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tiffany","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B1 L9 Vocabulary and Practice","datePublished":"2025-07-23T14:56:09+00:00","dateModified":"2026-09-08T04:33:03+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/"},"wordCount":9,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","articleSection":["\u7576\u4ee3\u4e2d\u6587 1"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/","name":"B1 L9 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","datePublished":"2025-07-23T14:56:09+00:00","dateModified":"2026-09-08T04:33:03+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u4e5d\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 9","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","width":800,"height":300,"caption":"\u7576\u4ee3\u4e2d\u65871"},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/07\/23\/contemporary-chinese-vocabulary-practice-b1l9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B1 L9 Vocabulary and Practice"}]},{"@type":"WebSite","@id":"https:\/\/tiffanysmandarin.com\/#website","url":"https:\/\/tiffanysmandarin.com\/","name":"OneDotDot Chinese","description":"Learn a little Chinese every day","publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tiffanysmandarin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99","name":"tiffany","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","url":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","contentUrl":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","width":214,"height":214,"caption":"tiffany"},"logo":{"@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png"},"sameAs":["https:\/\/www.instagram.com\/tiffanys_talk\/","https:\/\/www.linkedin.com\/in\/tiffany-huang-mandarin\/"],"url":"https:\/\/tiffanysmandarin.com\/index.php\/author\/tiffany\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/comments?post=12937"}],"version-history":[{"count":3,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12937\/revisions"}],"predecessor-version":[{"id":16744,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12937\/revisions\/16744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media\/10970"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=12937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=12937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=12937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}