{"id":12994,"date":"2025-08-04T19:44:06","date_gmt":"2025-08-04T11:44:06","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=12994"},"modified":"2026-09-08T16:27:30","modified_gmt":"2026-09-08T08:27:30","slug":"contemporary-chinese-vocabulary-practice-b1l13","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/","title":{"rendered":"B1 L13 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 13 \u300c\u751f\u65e5\u5feb\u6a02\u300d Happy Birthday \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  Same technical pattern as dangdai-b1l1 through b1l12-vocab-embed.html:\n    - No <!DOCTYPE>\/<html>\/<head>\/<body>, no page-level toggle UI (site's own\n      Text Display \/ Pinyin Display toggle covers that); no external Quizlet\n      embed on the page \u2014 flashcard deck, Match It game, and a 15-question\n      Vocabulary Quiz below replace it entirely\n    - CSS scoped under .dangdai-b1l13-vocab-embed with its own --db13-*\n      variables, same oxblood\/mustard\/sage\/bone palette as L1-L12\n    - Ruby: every example\/dialogue sentence segmented WORD BY WORD into its\n      own ruby+pinyin chunk, punctuation is plain text, not ruby\n    - Root lookup by id (#dangdai-b1l13-vocab-embed-1), not currentScript\n    - Speaker buttons: inline SVG play-triangle icon, flex-locked to a true\n      circle (flex:0 0 26px; padding:0), data-trad\/data-simp + one delegated\n      click listener using the Web Speech API\n    - W(t,s,p) = shared pinyin; WD(t,s,pt,ps) defined for parity but UNUSED\n      this lesson (no neutral-tone TW\/CN split found)\n    - Traditional\/Simplified conversion: every piece of Chinese text uses the\n      site's own shared `lang-zh-TW` \/ `lang-zh-CN` classes, so the site's\n      existing cookie-driven, hyperscript-powered Text Display toggle\n      shows\/hides them automatically \u2014 including content this script injects\n      after page load. NO separate cookie-reading 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 zero\n      out font-size or force text color, `ruby`\/`.rb`\/`rt` all get their\n      color and font-size pinned with `!important`\n    - No literal `&&` appears inside the <script> tag (WordPress's content\n      filter can mangle it into `&#038;&#038;` and break the script) \u2014 every\n      spot that needs two chained conditions uses nested `if` blocks instead\n    - Match It's tile pinyin reads `(w.pt || w.p)`, never plain `w.p`, so a\n      WD() word never renders literally as \"undefined\"\n\n    - Vocabulary sourced directly from \u7576\u4ee3\u4e2d\u6587\u8ab2\u7a0b 1, Lesson 13, pages 272\n      and 276 (\u751f\u8a5e\u4e00 \/ \u751f\u8a5e\u4e8c): 17 words + 1 name + 5 phrases from \u751f\u8a5e\u4e00,\n      13 words + 4 phrases from \u751f\u8a5e\u4e8c \u2014 40 items total. Note: \u5c0d (du\u00ec) is\n      listed here as a Preposition (\"to\"), a different function from the\n      \u5c0d (Vs, \"correct\/right\") already introduced in Lesson 10 \u2014 this embed\n      keeps them as one headword card noting both senses, for the same\n      reason duplicate-hanzi entries were merged in the Lesson 12 embed\n      (Match It \/ flashcards key off the hanzi string as a unique id).\n    - All example sentences are ORIGINAL \u2014 none are lifted from the\n      textbook's two dialogues \u2014 but they're written around this lesson's\n      topic (birthday phone calls, birthday customs, language exchange,\n      polite responses to thanks).\n    - Verified trad\/simp CHARACTER pairs individually: \u56de\u4f86\/\u56de\u6765, \u8a9e\u8a00\/\n      \u8bed\u8a00, \u4ea4\u63db\/\u4ea4\u6362, \u71b1\u5fc3\/\u70ed\u5fc3, \u8c6c\u8173\/\u732a\u811a, \u9eb5\u7dda\/\u9762\u7ebf, \u86cb\u7cd5\/\u86cb\u7cd5\n      (unchanged), \u50b3\u7d71\/\u4f20\u7edf, \u5e74\u8f15\/\u5e74\u8f7b, \u842c\u4e8b\u5982\u610f\/\u4e07\u4e8b\u5982\u610f, \u5fc3\u60f3\u4e8b\u6210\/\n      \u5fc3\u60f3\u4e8b\u6210 (unchanged)\n    - Top-of-page support note + a disclaimer above the invented practice\n      dialogue (both first person, \"I\"), same as L1-L12\n-->\n<div class=\"dangdai-b1l13-vocab-embed\" id=\"dangdai-b1l13-vocab-embed-1\">\n<style>\n.dangdai-b1l13-vocab-embed {\n  --db13-oxblood: #7b2d26;\n  --db13-oxblood-dark: #5e211c;\n  --db13-mustard: #c9922b;\n  --db13-sage: #7c8b6f;\n  --db13-bone: #f7f1e6;\n  --db13-ink: #2c2620;\n  --db13-line: #e4d9c4;\n  font-family: 'Work Sans', -apple-system, sans-serif;\n  color: var(--db13-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-b1l13-vocab-embed * { box-sizing: border-box; }\n.dangdai-b1l13-vocab-embed h1,\n.dangdai-b1l13-vocab-embed h2,\n.dangdai-b1l13-vocab-embed h3 {\n  font-family: 'Bitter', Georgia, serif;\n  color: var(--db13-oxblood-dark);\n  margin: 0 0 8px;\n}\n.dangdai-b1l13-vocab-embed .db13-support-note {\n  font-size: 0.85rem;\n  color: var(--db13-sage);\n  border-bottom: 1px solid var(--db13-line);\n  padding-bottom: 12px;\n  margin: 0 0 16px;\n}\n.dangdai-b1l13-vocab-embed .db13-lede {\n  margin: 0 0 24px;\n  padding: 14px 16px;\n  background: var(--db13-bone);\n  border-left: 4px solid var(--db13-mustard);\n  border-radius: 4px;\n  font-size: 0.98rem;\n}\n.dangdai-b1l13-vocab-embed .db13-lede b { color: var(--db13-oxblood-dark); }\n.dangdai-b1l13-vocab-embed .db13-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(--db13-oxblood);\n  padding: 3px 9px;\n  border-radius: 3px;\n  margin: 32px 0 10px;\n}\n.dangdai-b1l13-vocab-embed .db13-word-card {\n  border: 1px solid var(--db13-line);\n  border-radius: 8px;\n  padding: 12px 14px;\n  margin-bottom: 10px;\n  background: #fff;\n}\n.dangdai-b1l13-vocab-embed .db13-word-top {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n.dangdai-b1l13-vocab-embed .db13-num {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.75rem;\n  color: var(--db13-mustard);\n  min-width: 22px;\n}\n.dangdai-b1l13-vocab-embed .db13-hanzi { font-size: 1.35rem; font-weight: 600; }\n.dangdai-b1l13-vocab-embed ruby {\n  ruby-position: over;\n  margin-right: 2px;\n  color: var(--db13-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l13-vocab-embed .rb {\n  color: var(--db13-ink) !important;\n  font-size: inherit !important;\n}\n.dangdai-b1l13-vocab-embed rt {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.6rem !important;\n  color: var(--db13-sage) !important;\n  font-weight: 400;\n}\n.dangdai-b1l13-vocab-embed rt.hidden { display: none; }\n.dangdai-b1l13-vocab-embed rt.mouseover { opacity: 0; }\n.dangdai-b1l13-vocab-embed rt.mouseover:hover { opacity: 1; }\n.dangdai-b1l13-vocab-embed .db13-meaning { font-style: italic; color: #6b5f52; font-size: 0.92rem; }\n.dangdai-b1l13-vocab-embed .db13-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(--db13-bone);\n  color: var(--db13-oxblood);\n  border-radius: 50%;\n  cursor: pointer;\n  margin-left: auto;\n}\n.dangdai-b1l13-vocab-embed .db13-speaker:hover { background: var(--db13-mustard); color: #fff; }\n.dangdai-b1l13-vocab-embed .db13-example {\n  margin-top: 8px;\n  padding-top: 8px;\n  border-top: 1px dashed var(--db13-line);\n  font-size: 0.95rem;\n}\n.dangdai-b1l13-vocab-embed .db13-example .db13-sent-word { display: inline-flex; }\n.dangdai-b1l13-vocab-embed .db13-example .db13-punct { margin-right: 2px; }\n.dangdai-b1l13-vocab-embed .db13-example .db13-en {\n  display: block;\n  color: #6b5f52;\n  font-size: 0.85rem;\n  margin-top: 4px;\n}\n.dangdai-b1l13-vocab-embed .db13-dialogue-note { font-size: 0.85rem; color: #6b5f52; margin: 0 0 10px; }\n.dangdai-b1l13-vocab-embed .db13-dialogue {\n  background: var(--db13-bone);\n  border-radius: 8px;\n  padding: 16px 18px;\n  margin-top: 8px;\n}\n.dangdai-b1l13-vocab-embed .db13-line {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n  align-items: flex-start;\n  flex-wrap: wrap;\n}\n.dangdai-b1l13-vocab-embed .db13-speaker-tag {\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.72rem;\n  color: var(--db13-oxblood);\n  min-width: 46px;\n  padding-top: 3px;\n}\n.dangdai-b1l13-vocab-embed .db13-line-body { flex: 1; min-width: 200px; }\n.dangdai-b1l13-vocab-embed .db13-line-en { display: block; color: #6b5f52; font-size: 0.82rem; margin-top: 2px; }\n\n.dangdai-b1l13-vocab-embed .db13-fc-hint { font-size: 0.85rem; color: #6b5f52; margin: 0 0 12px; text-align: center; }\n.dangdai-b1l13-vocab-embed .db13-flashcard-wrap { max-width: 320px; margin: 0 auto 14px; perspective: 1200px; }\n.dangdai-b1l13-vocab-embed .db13-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-b1l13-vocab-embed .db13-flashcard.db13-flipped { transform: rotateY(180deg); }\n.dangdai-b1l13-vocab-embed .db13-fc-face {\n  position: absolute;\n  inset: 0;\n  backface-visibility: hidden;\n  border: 1px solid var(--db13-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-b1l13-vocab-embed .db13-fc-back { transform: rotateY(180deg); background: var(--db13-bone); }\n.dangdai-b1l13-vocab-embed .db13-fc-front .db13-hanzi { font-size: 4rem !important; }\n.dangdai-b1l13-vocab-embed .db13-flashcard-wrap rt { font-size: 1.2rem !important; }\n.dangdai-b1l13-vocab-embed .db13-fc-back .db13-meaning { font-style: italic; color: var(--db13-oxblood-dark); font-size: 1.725rem; }\n.dangdai-b1l13-vocab-embed .db13-flashcard-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }\n.dangdai-b1l13-vocab-embed .db13-game-btn {\n  font-family: 'Work Sans', sans-serif;\n  font-size: 0.85rem;\n  border: 1px solid var(--db13-oxblood);\n  color: var(--db13-oxblood);\n  background: #fff;\n  padding: 6px 14px;\n  border-radius: 20px;\n  cursor: pointer;\n}\n.dangdai-b1l13-vocab-embed .db13-game-btn:hover { background: var(--db13-oxblood); color: #fff; }\n.dangdai-b1l13-vocab-embed .db13-game-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }\n.dangdai-b1l13-vocab-embed .db13-game-status { font-family: 'IBM Plex Mono', monospace; font-size: 0.82rem; color: var(--db13-sage); }\n.dangdai-b1l13-vocab-embed .db13-game-board { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n.dangdai-b1l13-vocab-embed .db13-game-col { display: flex; flex-direction: column; gap: 8px; }\n.dangdai-b1l13-vocab-embed .db13-tile {\n  font-family: 'Work Sans', sans-serif;\n  text-align: left;\n  border: 1px solid var(--db13-line);\n  background: #fff;\n  border-radius: 6px;\n  padding: 10px 12px;\n  cursor: pointer;\n  font-size: 0.95rem;\n  color: var(--db13-ink);\n  transition: background 0.15s, border-color 0.15s, transform 0.1s;\n}\n.dangdai-b1l13-vocab-embed .db13-tile .db13-tile-py {\n  display: block;\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 0.7rem;\n  color: var(--db13-sage);\n  margin-top: 2px;\n}\n.dangdai-b1l13-vocab-embed .db13-tile:hover:not(.db13-matched):not(.db13-selected) { border-color: var(--db13-mustard); }\n.dangdai-b1l13-vocab-embed .db13-tile.db13-selected { border-color: var(--db13-oxblood); background: var(--db13-bone); }\n.dangdai-b1l13-vocab-embed .db13-tile.db13-matched { border-color: var(--db13-sage); background: #eef2e9; color: var(--db13-sage); cursor: default; }\n.dangdai-b1l13-vocab-embed .db13-tile.db13-wrong { border-color: #b5453d; background: #fbeceb; animation: db13-shake 0.3s; }\n@keyframes db13-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }\n.dangdai-b1l13-vocab-embed .db13-game-win { text-align: center; padding: 14px; font-family: 'Bitter', serif; color: var(--db13-oxblood-dark); display: none; }\n.dangdai-b1l13-vocab-embed .db13-game-win.db13-show { display: block; }\n@media (max-width: 480px) { .dangdai-b1l13-vocab-embed .db13-game-board { grid-template-columns: 1fr; } }\n.dangdai-b1l13-vocab-embed .db13-quiz { background: #fff; border: 1px solid var(--db13-line); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\n.dangdai-b1l13-vocab-embed .db13-quiz-progress { font-size: 0.82rem; color: var(--db13-sage); margin: 0 0 10px; font-family: 'IBM Plex Mono', monospace; }\n.dangdai-b1l13-vocab-embed .db13-quiz-prompt { font-size: 1.1rem; margin: 0 0 14px; }\n.dangdai-b1l13-vocab-embed .db13-quiz-options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px; }\n.dangdai-b1l13-vocab-embed .db13-quiz-opt { text-align: left; border: 1px solid var(--db13-line); background: var(--db13-bone); border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 0.98rem; color: var(--db13-ink); }\n.dangdai-b1l13-vocab-embed .db13-quiz-opt:hover { background: #f0e6d2; }\n.dangdai-b1l13-vocab-embed .db13-quiz-opt.correct { background: #e3efdd; border-color: #7fae6d; color: #3d5c34; }\n.dangdai-b1l13-vocab-embed .db13-quiz-opt.incorrect { background: #f5e0dc; border-color: var(--db13-oxblood); color: var(--db13-oxblood-dark); }\n.dangdai-b1l13-vocab-embed .db13-quiz-opt[disabled] { cursor: default; }\n.dangdai-b1l13-vocab-embed .db13-quiz-input-row { display: flex; gap: 8px; margin: 0 0 10px; flex-wrap: wrap; }\n.dangdai-b1l13-vocab-embed .db13-quiz-input { flex: 1 1 200px; border: 1px solid var(--db13-line); border-radius: 8px; padding: 9px 12px; font-size: 0.98rem; }\n.dangdai-b1l13-vocab-embed .db13-quiz-submit, .dangdai-b1l13-vocab-embed .db13-quiz-next, .dangdai-b1l13-vocab-embed .db13-quiz-retake { border: none; background: var(--db13-oxblood); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 0.9rem; cursor: pointer; }\n.dangdai-b1l13-vocab-embed .db13-quiz-submit:hover, .dangdai-b1l13-vocab-embed .db13-quiz-next:hover, .dangdai-b1l13-vocab-embed .db13-quiz-retake:hover { background: var(--db13-oxblood-dark); }\n.dangdai-b1l13-vocab-embed .db13-quiz-feedback { font-size: 0.95rem; margin: 0 0 10px; min-height: 1.4em; }\n.dangdai-b1l13-vocab-embed .db13-quiz-feedback.correct { color: #3d5c34; }\n.dangdai-b1l13-vocab-embed .db13-quiz-feedback.incorrect { color: var(--db13-oxblood-dark); }\n.dangdai-b1l13-vocab-embed .db13-quiz-score { text-align: center; }\n.dangdai-b1l13-vocab-embed .db13-quiz-score .db13-quiz-score-num { font-size: 2.2rem; font-weight: 700; color: var(--db13-oxblood-dark); display: block; margin-bottom: 8px; font-family: 'Bitter', serif; }\n<\/style>\n\n<p class=\"db13-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=\"db13-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 13\u300c\u751f\u65e5\u5feb\u6a02\u300dHappy Birthday<\/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=\"db13-sec-eyebrow\">01 \u2014 BIRTHDAY BASICS<\/div>\n<div id=\"db13-word-list-1\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">02 \u2014 ON THE PHONE<\/div>\n<div id=\"db13-word-list-2\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">03 \u2014 LANGUAGE EXCHANGE<\/div>\n<div id=\"db13-word-list-3\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">04 \u2014 POLITENESS &amp; GRATITUDE<\/div>\n<div id=\"db13-word-list-4\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">05 \u2014 TRADITIONAL FOOD &amp; CUSTOMS<\/div>\n<div id=\"db13-word-list-5\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">06 \u2014 CELEBRATING<\/div>\n<p style=\"font-size:0.88rem;color:#6b5f52;margin:0 0 10px;\">\u5c0d shows up here as a preposition (&#8220;to\/toward&#8221;), a different job from the \u5c0d you already know from Lesson 10 (&#8220;correct, right&#8221;) \u2014 same word, two uses.<\/p>\n<div id=\"db13-word-list-6\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">07 \u2014 PUT IT TOGETHER<\/div>\n<p class=\"db13-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 13 dialogues, I&#8217;d recommend picking up a copy of the textbook itself.<\/em><\/p>\n<div class=\"db13-dialogue\" id=\"db13-dialogue\"><\/div>\n\n<div class=\"db13-sec-eyebrow\">08 \u2014 FLASHCARDS<\/div>\n<p class=\"db13-fc-hint\">Tap the card to flip it, then use the arrows to move through the deck.<\/p>\n<div class=\"db13-flashcard-wrap\">\n  <div class=\"db13-flashcard\" id=\"db13-flashcard\">\n    <div class=\"db13-fc-face db13-fc-front\" id=\"db13-fc-front\"><\/div>\n    <div class=\"db13-fc-face db13-fc-back\" id=\"db13-fc-back\"><\/div>\n  <\/div>\n<\/div>\n<div class=\"db13-flashcard-controls\">\n  <button class=\"db13-game-btn\" id=\"db13-fc-prev\">\u2039 Prev<\/button>\n  <span class=\"db13-game-status\" id=\"db13-fc-progress\">1 \/ 40<\/span>\n  <button class=\"db13-game-btn\" id=\"db13-fc-next\">Next \u203a<\/button>\n<\/div>\n\n<div class=\"db13-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=\"db13-game-bar\">\n  <button class=\"db13-game-btn\" id=\"db13-game-new\">New Round<\/button>\n  <span class=\"db13-game-status\" id=\"db13-game-status\">0 \/ 8 matched<\/span>\n<\/div>\n<div class=\"db13-game-board\">\n  <div class=\"db13-game-col\" id=\"db13-game-col-zh\"><\/div>\n  <div class=\"db13-game-col\" id=\"db13-game-col-en\"><\/div>\n<\/div>\n<div class=\"db13-game-win\" id=\"db13-game-win\">\ud83c\udf89 All matched! Nice work.<\/div>\n\n<div class=\"db13-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=\"db13-quiz\" id=\"db13-quiz\"><\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('dangdai-b1l13-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.272 & \u751f\u8a5e\u4e8c p.276 \u2014 birthday basics\n    'db13-word-list-1': [\n      { t: '\u751f\u65e5', s: '\u751f\u65e5', p: 'sh\u0113ngr\u00ec', meaning: 'birthday',\n        ex: [W('\u4eca\u5929','\u4eca\u5929','J\u012bnti\u0101n'), W('\u662f','\u662f','sh\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\u3002'],\n        exEn: 'Today is my birthday.' },\n      { t: '\u5feb\u6a02', s: '\u5feb\u4e50', p: 'ku\u00e0il\u00e8', meaning: 'happy',\n        ex: [W('\u795d','\u795d','Zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u5feb\u6a02','\u5feb\u4e50','ku\u00e0il\u00e8'), '\uff01'],\n        exEn: 'Happy birthday to you!' },\n      { t: '\u751f\u65e5\u5feb\u6a02', s: '\u751f\u65e5\u5feb\u4e50', p: 'sh\u0113ngr\u00ec ku\u00e0il\u00e8', meaning: 'Happy Birthday',\n        ex: [W('\u795d','\u795d','Zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u5feb\u6a02','\u5feb\u4e50','ku\u00e0il\u00e8'), '\uff01'],\n        exEn: 'Happy birthday to you!' },\n      { t: '\u904e', s: '\u8fc7', p: 'gu\u00f2', meaning: 'to celebrate',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u4eca\u5e74','\u4eca\u5e74','j\u012bnni\u00e1n'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u904e','\u8fc7','gu\u00f2'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff1f'],\n        exEn: 'How are we celebrating birthday this year?' },\n      { t: '\u79ae\u7269', s: '\u793c\u7269', p: 'l\u01d0w\u00f9', meaning: 'gift, present',\n        ex: [W('\u9019','\u8fd9','Zh\u00e8'), W('\u662f','\u662f','sh\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u7d66','\u7ed9','g\u011bi'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u79ae\u7269','\u793c\u7269','l\u01d0w\u00f9'), '\u3002'],\n        exEn: 'This is the birthday present I got for you.' },\n      { t: '\u86cb\u7cd5', s: '\u86cb\u7cd5', p: 'd\u00e0ng\u0101o', meaning: 'cake',\n        ex: [W('\u751f\u65e5','\u751f\u65e5','Sh\u0113ngr\u00ec'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), W('\u771f','\u771f','zh\u0113n'), W('\u597d\u5403','\u597d\u5403','h\u01ceoch\u012b'), '\u3002'],\n        exEn: 'The birthday cake is really delicious.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.272 \u2014 on the phone\n    'db13-word-list-2': [\n      { t: '\u56de\u4f86', s: '\u56de\u6765', p: 'hu\u00edl\u00e1i', meaning: 'to come back',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u4ec0\u9ebc','\u4ec0\u4e48','sh\u00e9nme'), W('\u6642\u5019','\u65f6\u5019','sh\u00edh\u00f2u'), W('\u56de\u4f86','\u56de\u6765','hu\u00edl\u00e1i'), '\uff1f'],\n        exEn: 'When are you coming back?' },\n      { t: '\u554a', s: '\u554a', p: 'a', meaning: 'particle indicating a realization',\n        ex: [W('\u554a','\u554a','A'), '\uff01', W('\u6211','\u6211','w\u01d2'), W('\u5fd8\u4e86','\u5fd8\u4e86','w\u00e0ngle'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff01'],\n        exEn: 'Oh! I forgot your birthday!' },\n      { t: '\u600e\u9ebc', s: '\u600e\u4e48', p: 'z\u011bnme', meaning: 'How come?',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u73fe\u5728','\u73b0\u5728','xi\u00e0nz\u00e0i'), W('\u624d','\u624d','c\u00e1i'), W('\u6253\u96fb\u8a71','\u6253\u7535\u8bdd','d\u01ce di\u00e0nhu\u00e0'), W('\u7d66','\u7ed9','g\u011bi'), W('\u6211','\u6211','w\u01d2'), '\uff1f'],\n        exEn: \"How come you're only calling me now?\" },\n      { t: '\u5fd8(\u4e86)', s: '\u5fd8(\u4e86)', p: 'w\u00e0ngle', meaning: 'to forget',\n        ex: [W('\u554a','\u554a','A'), '\uff01', W('\u6211','\u6211','w\u01d2'), W('\u5fd8\u4e86','\u5fd8\u4e86','w\u00e0ngle'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff01'],\n        exEn: 'Oh! I forgot your birthday!' },\n      { t: '\u8a18\u5f97', s: '\u8bb0\u5f97', p: 'j\u00ecde', meaning: 'to remember',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u9084','\u8fd8','h\u00e1i'), W('\u8a18\u5f97','\u8bb0\u5f97','j\u00ecde'), W('\u6211','\u6211','w\u01d2'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Do you still remember my birthday?' },\n      { t: '\u6211\u5c31\u662f', s: '\u6211\u5c31\u662f', p: 'w\u01d2 ji\u00f9 sh\u00ec', meaning: '(said of self on the phone) This is s\/he speaking',\n        ex: [W('\u8acb\u554f','\u8bf7\u95ee','Q\u01d0ngw\u00e8n'), W('\u662f','\u662f','sh\u00ec'), W('\u5b89\u540c','\u5b89\u540c','\u0100nt\u00f3ng'), W('\u55ce','\u5417','ma'), '\uff1f', W('\u6211\u5c31\u662f','\u6211\u5c31\u662f','W\u01d2 ji\u00f9 sh\u00ec'), '\u3002'],\n        exEn: 'Excuse me, is this Antong? \u2014 This is he.' },\n      { t: '\u597d\u4e45\u4e0d\u898b', s: '\u597d\u4e45\u4e0d\u89c1', p: 'h\u01ceoji\u01d4 b\u00faji\u00e0n', meaning: 'long time no see',\n        ex: [W('\u597d\u4e45\u4e0d\u898b','\u597d\u4e45\u4e0d\u89c1','H\u01ceoji\u01d4 b\u00faji\u00e0n'), '\uff0c', W('\u4f60\u597d','\u4f60\u597d','n\u01d0 h\u01ceo'), W('\u55ce','\u5417','ma'), '\uff1f'],\n        exEn: 'Long time no see, how are you?' }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.272 \u2014 language exchange\n    'db13-word-list-3': [\n      { t: '\u4ea4\u63db', s: '\u4ea4\u6362', p: 'ji\u0101ohu\u00e0n', meaning: 'to exchange',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u4ea4\u63db','\u4ea4\u6362','ji\u0101ohu\u00e0n'), W('\u8a9e\u8a00','\u8bed\u8a00','y\u01d4y\u00e1n'), '\u3002'],\n        exEn: 'We can do a language exchange.' },\n      { t: '\u8a9e\u8a00', s: '\u8bed\u8a00', p: 'y\u01d4y\u00e1n', meaning: 'language',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u4ea4\u63db','\u4ea4\u6362','ji\u0101ohu\u00e0n'), W('\u8a9e\u8a00','\u8bed\u8a00','y\u01d4y\u00e1n'), '\u3002'],\n        exEn: 'We can do a language exchange.' },\n      { t: '\u897f\u73ed\u7259\u6587', s: '\u897f\u73ed\u7259\u6587', p: 'X\u012bb\u0101ny\u00e1 w\u00e9n', meaning: 'the Spanish language',\n        ex: [W('\u5979','\u5979','T\u0101'), W('\u5728','\u5728','z\u00e0i'), W('\u5b78','\u5b66','xu\u00e9'), W('\u897f\u73ed\u7259\u6587','\u897f\u73ed\u7259\u6587','X\u012bb\u0101ny\u00e1 w\u00e9n'), '\u3002'],\n        exEn: \"She's learning Spanish.\" },\n      { t: '\u897f\u73ed\u7259', s: '\u897f\u73ed\u7259', p: 'X\u012bb\u0101ny\u00e1', meaning: 'Spain',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u662f','\u662f','sh\u00ec'), W('\u897f\u73ed\u7259','\u897f\u73ed\u7259','X\u012bb\u0101ny\u00e1'), W('\u4eba','\u4eba','r\u00e9n'), '\u3002'],\n        exEn: 'My friend is Spanish.' },\n      { t: '\u4e00\u6a23', s: '\u4e00\u6837', p: 'y\u00edy\u00e0ng', meaning: 'the same, alike',\n        ex: [W('\u9019','\u8fd9','Zh\u00e8'), W('\u5169','\u4e24','li\u01ceng'), W('\u500b','\u4e2a','ge'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), W('\u770b\u8d77\u4f86','\u770b\u8d77\u6765','k\u00e0nq\u01d0l\u00e1i'), W('\u4e00\u6a23','\u4e00\u6837','y\u00edy\u00e0ng'), '\u3002'],\n        exEn: 'These two cakes look the same.' },\n      { t: '\u90a3\u9ebc', s: '\u90a3\u4e48', p: 'n\u00e0me', meaning: 'so (very)',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u5c0d','\u5bf9','du\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u90a3\u9ebc','\u90a3\u4e48','n\u00e0me'), W('\u71b1\u5fc3','\u70ed\u5fc3','r\u00e8x\u012bn'), '\uff0c', W('\u8b1d\u8b1d','\u8c22\u8c22','xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\u3002'],\n        exEn: \"You're so enthusiastic toward me, thank you.\" },\n      { t: '\u71b1\u5fc3', s: '\u70ed\u5fc3', p: 'r\u00e8x\u012bn', meaning: 'with enthusiasm',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u5c0d','\u5bf9','du\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u90a3\u9ebc','\u90a3\u4e48','n\u00e0me'), W('\u71b1\u5fc3','\u70ed\u5fc3','r\u00e8x\u012bn'), '\uff0c', W('\u8b1d\u8b1d','\u8c22\u8c22','xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\u3002'],\n        exEn: \"You're so enthusiastic toward me, thank you.\" }\n    ],\n    \/\/ \u751f\u8a5e\u4e00 p.272 & \u751f\u8a5e\u4e8c p.276 \u2014 politeness & gratitude\n    'db13-word-list-4': [\n      { t: '\u7576\u7136', s: '\u5f53\u7136', p: 'd\u0101ngr\u00e1n', meaning: 'certainly, of course',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u7576\u7136','\u5f53\u7136','d\u0101ngr\u00e1n'), W('\u8a18\u5f97','\u8bb0\u5f97','j\u00ecde'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\u3002'],\n        exEn: 'Of course I remember your birthday.' },\n      { t: '\u4e0d\u5fc5\u5ba2\u6c23', s: '\u4e0d\u5fc5\u5ba2\u6c14', p: 'b\u00fab\u00ec k\u00e8q\u00ec', meaning: 'no need to stand on formalities, it\\u2019s my pleasure',\n        ex: [W('\u8b1d\u8b1d','\u8c22\u8c22','Xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u79ae\u7269','\u793c\u7269','l\u01d0w\u00f9'), '\u3002', W('\u4e0d\u5fc5\u5ba2\u6c23','\u4e0d\u5fc5\u5ba2\u6c14','B\u00fab\u00ec k\u00e8q\u00ec'), '\u3002'],\n        exEn: 'Thanks for the gift. \u2014 My pleasure.' },\n      { t: '\u592a\u5ba2\u6c23', s: '\u592a\u5ba2\u6c14', p: 't\u00e0i k\u00e8q\u00ec', meaning: \"that's very kind of you\",\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u592a\u5ba2\u6c23','\u592a\u5ba2\u6c14','t\u00e0i k\u00e8q\u00ec'), W('\u4e86','\u4e86','le'), '\uff0c', W('\u8b1d\u8b1d','\u8c22\u8c22','xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\u3002'],\n        exEn: \"You're too kind, thank you.\" },\n      { t: '\u54ea\u88e1\uff0c\u54ea\u88e1', s: '\u54ea\u91cc\uff0c\u54ea\u91cc', p: 'N\u01cel\u01d0, n\u01cel\u01d0', meaning: \"Don't mention it, it's my pleasure\",\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u505a','\u505a','zu\u00f2'), W('\u7684','\u7684','de'), W('\u83dc','\u83dc','c\u00e0i'), W('\u771f','\u771f','zh\u0113n'), W('\u597d\u5403','\u597d\u5403','h\u01ceoch\u012b'), '\u3002', W('\u54ea\u88e1\uff0c\u54ea\u88e1','\u54ea\u91cc\uff0c\u54ea\u91cc','N\u01cel\u01d0, n\u01cel\u01d0'), '\u3002'],\n        exEn: 'The food you made is really delicious. \u2014 Oh, don\\u2019t mention it.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.276 \u2014 traditional food & customs\n    'db13-word-list-5': [\n      { t: '\u8a02', s: '\u8ba2', p: 'd\u00ecng', meaning: 'to order (something in advance)',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8a02','\u8ba2','d\u00ecng'), W('\u4e86','\u4e86','le'), W('\u4e00','\u4e00','y\u00ed'), W('\u500b','\u4e2a','ge'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), '\u3002'],\n        exEn: 'I ordered a cake.' },\n      { t: '\u8c6c\u8173', s: '\u732a\u811a', p: 'zh\u016bji\u01ceo', meaning: 'pork knuckles',\n        ex: [W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u904e','\u8fc7','gu\u00f2'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u5e38','\u5e38','ch\u00e1ng'), W('\u5403','\u5403','ch\u012b'), W('\u8c6c\u8173','\u732a\u811a','zh\u016bji\u01ceo'), W('\u9eb5\u7dda','\u9762\u7ebf','mi\u00e0nxi\u00e0n'), '\u3002'],\n        exEn: 'Taiwanese people often eat pork knuckles and noodles on birthdays.' },\n      { t: '\u9eb5\u7dda', s: '\u9762\u7ebf', p: 'mi\u00e0nxi\u00e0n', meaning: 'extra fine noodles',\n        ex: [W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u904e','\u8fc7','gu\u00f2'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u5e38','\u5e38','ch\u00e1ng'), W('\u5403','\u5403','ch\u012b'), W('\u8c6c\u8173','\u732a\u811a','zh\u016bji\u01ceo'), W('\u9eb5\u7dda','\u9762\u7ebf','mi\u00e0nxi\u00e0n'), '\u3002'],\n        exEn: 'Taiwanese people often eat pork knuckles and noodles on birthdays.' },\n      { t: '\u86cb', s: '\u86cb', p: 'd\u00e0n', meaning: 'egg',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u4e0d','\u4e0d','b\u00f9'), W('\u559c\u6b61','\u559c\u6b22','x\u01d0hu\u0101n'), W('\u5403','\u5403','ch\u012b'), W('\u86cb','\u86cb','d\u00e0n'), '\u3002'],\n        exEn: \"I don't like eating eggs.\" },\n      { t: '\u50b3\u7d71', s: '\u4f20\u7edf', p: 'chu\u00e1nt\u01d2ng', meaning: 'tradition, customs',\n        ex: [W('\u9019','\u8fd9','Zh\u00e8'), W('\u662f','\u662f','sh\u00ec'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u4eba','\u4eba','r\u00e9n'), W('\u7684','\u7684','de'), W('\u50b3\u7d71','\u4f20\u7edf','chu\u00e1nt\u01d2ng'), '\u3002'],\n        exEn: 'This is a Taiwanese tradition.' },\n      { t: '\u5927\u90e8\u5206', s: '\u5927\u90e8\u5206', p: 'd\u00e0 b\u00f9f\u00e8n', meaning: 'most (of), mostly',\n        ex: [W('\u5927\u90e8\u5206','\u5927\u90e8\u5206','D\u00e0 b\u00f9f\u00e8n'), W('\u7684','\u7684','de'), W('\u4eba','\u4eba','r\u00e9n'), W('\u559c\u6b61','\u559c\u6b22','x\u01d0hu\u0101n'), W('\u5403','\u5403','ch\u012b'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), '\u3002'],\n        exEn: 'Most people like eating cake.' },\n      { t: '\u4e00\u9ede', s: '\u4e00\u70b9', p: 'y\u00ecdi\u01cen', meaning: 'a little, some',\n        ex: [W('\u9019\u500b','\u8fd9\u4e2a','Zh\u00e8ge'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), W('\u751c','\u751c','ti\u00e1n'), W('\u4e86','\u4e86','le'), W('\u4e00\u9ede','\u4e00\u70b9','y\u00ecdi\u01cen'), '\u3002'],\n        exEn: 'This cake is a bit too sweet.' }\n    ],\n    \/\/ \u751f\u8a5e\u4e8c p.276 \u2014 celebrating\n    'db13-word-list-6': [\n      { t: '\u4eca\u5e74', s: '\u4eca\u5e74', p: 'j\u012bnni\u00e1n', meaning: 'this year',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u4eca\u5e74','\u4eca\u5e74','j\u012bnni\u00e1n'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u904e','\u8fc7','gu\u00f2'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff1f'],\n        exEn: 'How are we celebrating birthday this year?' },\n      { t: '\u5e74\u8f15', s: '\u5e74\u8f7b', p: 'ni\u00e1nq\u012bng', meaning: 'young',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u770b\u8d77\u4f86','\u770b\u8d77\u6765','k\u00e0nq\u01d0l\u00e1i'), W('\u5f88','\u5f88','h\u011bn'), W('\u5e74\u8f15','\u5e74\u8f7b','ni\u00e1nq\u012bng'), '\u3002'],\n        exEn: 'You look very young.' },\n      { t: '\u5c0d', s: '\u5bf9', p: 'du\u00ec', meaning: 'to, toward (preposition)',\n        ex: [W('\u4f60','\u4f60','N\u01d0'), W('\u5c0d','\u5bf9','du\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u90a3\u9ebc','\u90a3\u4e48','n\u00e0me'), W('\u71b1\u5fc3','\u70ed\u5fc3','r\u00e8x\u012bn'), '\uff0c', W('\u8b1d\u8b1d','\u8c22\u8c22','xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\u3002'],\n        exEn: \"You're so enthusiastic toward me, thank you.\" },\n      { t: '\u795d', s: '\u795d', p: 'zh\u00f9', meaning: 'to wish (somebody happiness, good luck, etc.)',\n        ex: [W('\u795d','\u795d','Zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), W('\u5feb\u6a02','\u5feb\u4e50','ku\u00e0il\u00e8'), '\uff01'],\n        exEn: 'Happy birthday to you!' },\n      { t: '\u842c\u4e8b\u5982\u610f', s: '\u4e07\u4e8b\u5982\u610f', p: 'w\u00e0nsh\u00ec r\u00fay\u00ec', meaning: 'May everything go your way',\n        ex: [W('\u795d','\u795d','Zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u842c\u4e8b\u5982\u610f','\u4e07\u4e8b\u5982\u610f','w\u00e0nsh\u00ec r\u00fay\u00ec'), '\uff01'],\n        exEn: 'May everything go your way!' },\n      { t: '\u5fc3\u60f3\u4e8b\u6210', s: '\u5fc3\u60f3\u4e8b\u6210', p: 'x\u012bnxi\u01ceng sh\u00ecch\u00e9ng', meaning: 'May all your wishes come true',\n        ex: [W('\u795d','\u795d','Zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u5fc3\u60f3\u4e8b\u6210','\u5fc3\u60f3\u4e8b\u6210','x\u012bnxi\u01ceng sh\u00ecch\u00e9ng'), '\uff01'],\n        exEn: 'May all your wishes come true!' },\n      { t: '\u5de6\u53f3', s: '\u5de6\u53f3', p: 'zu\u01d2y\u00f2u', meaning: 'approximately',\n        ex: [W('\u6211\u5011','\u6211\u4eec','W\u01d2men'), W('\u665a\u4e0a','\u665a\u4e0a','w\u01censh\u00e0ng'), W('\u4e03','\u4e03','q\u012b'), W('\u9ede','\u70b9','di\u01cen'), W('\u5de6\u53f3','\u5de6\u53f3','zu\u01d2y\u00f2u'), W('\u5230','\u5230','d\u00e0o'), '\u3002'],\n        exEn: \"We'll arrive around 7pm.\" },\n      { t: '\u9580\u53e3', s: '\u95e8\u53e3', p: 'm\u00e9nk\u01d2u', meaning: 'gate, entrance',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u5728','\u5728','z\u00e0i'), W('\u9580\u53e3','\u95e8\u53e3','m\u00e9nk\u01d2u'), W('\u7b49','\u7b49','d\u011bng'), W('\u4f60','\u4f60','n\u01d0'), '\u3002'],\n        exEn: \"I'll wait for you at the entrance.\" },\n      { t: '\u4e86', s: '\u4e86', p: 'le', meaning: 'verbal particle indicating completed action',\n        ex: [W('\u6211','\u6211','W\u01d2'), W('\u8a02','\u8ba2','d\u00ecng'), W('\u4e86','\u4e86','le'), W('\u4e00','\u4e00','y\u00ed'), W('\u500b','\u4e2a','ge'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), '\u3002'],\n        exEn: 'I ordered a cake.' }\n    ]\n  };\n\n  var DIALOGUE = [\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u5582','\u5582','W\u00e9i'), '\uff0c', W('\u8acb\u554f','\u8bf7\u95ee','q\u01d0ngw\u00e8n'), W('\u662f','\u662f','sh\u00ec'), W('\u5b89\u540c','\u5b89\u540c','\u0100nt\u00f3ng'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: 'Hello, is this Antong?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u6211\u5c31\u662f','\u6211\u5c31\u662f','W\u01d2 ji\u00f9 sh\u00ec'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u662f','\u662f','sh\u00ec'), W('\u8ab0','\u8c01','sh\u00e9i'), '\uff1f'],\n      en: 'This is he, who is this?' },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u597d\u4e45\u4e0d\u898b','\u597d\u4e45\u4e0d\u89c1','H\u01ceoji\u01d4 b\u00faji\u00e0n'), '\uff01', W('\u6211','\u6211','w\u01d2'), W('\u662f','\u662f','sh\u00ec'), W('\u5982\u7389','\u5982\u7389','R\u00fay\u00f9'), '\uff0c', W('\u4eca\u5929','\u4eca\u5929','j\u012bnti\u0101n'), W('\u662f','\u662f','sh\u00ec'), W('\u4f60','\u4f60','n\u01d0'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff0c', W('\u751f\u65e5\u5feb\u6a02','\u751f\u65e5\u5feb\u4e50','sh\u0113ngr\u00ec ku\u00e0il\u00e8'), '\uff01'],\n      en: \"Long time no see! It's Ruyu, today is your birthday, happy birthday!\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u554a','\u554a','A'), '\uff01', W('\u6211','\u6211','w\u01d2'), W('\u90fd','\u90fd','d\u014du'), W('\u5fd8\u4e86','\u5fd8\u4e86','w\u00e0ngle'), W('\u4eca\u5929','\u4eca\u5929','j\u012bnti\u0101n'), W('\u662f','\u662f','sh\u00ec'), W('\u6211','\u6211','w\u01d2'), W('\u7684','\u7684','de'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff01', W('\u8b1d\u8b1d','\u8c22\u8c22','xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), W('\u9084','\u8fd8','h\u00e1i'), W('\u8a18\u5f97','\u8bb0\u5f97','j\u00ecde'), '\u3002'],\n      en: \"Oh! I totally forgot today's my birthday! Thanks for remembering.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u7576\u7136','\u5f53\u7136','d\u0101ngr\u00e1n'), W('\u8a18\u5f97','\u8bb0\u5f97','j\u00ecde'), '\uff0c', W('\u90a3','\u90a3','n\u00e0'), W('\u4f60','\u4f60','n\u01d0'), W('\u4eca\u5e74','\u4eca\u5e74','j\u012bnni\u00e1n'), W('\u600e\u9ebc','\u600e\u4e48','z\u011bnme'), W('\u904e','\u8fc7','gu\u00f2'), W('\u751f\u65e5','\u751f\u65e5','sh\u0113ngr\u00ec'), '\uff1f'],\n      en: 'Of course I remember, so how are you celebrating this year?' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u8a02','\u8ba2','d\u00ecng'), W('\u4e86','\u4e86','le'), W('\u4e00','\u4e00','y\u00ed'), W('\u500b','\u4e2a','ge'), W('\u86cb\u7cd5','\u86cb\u7cd5','d\u00e0ng\u0101o'), '\uff0c', W('\u665a\u4e0a','\u665a\u4e0a','w\u01censh\u00e0ng'), W('\u670b\u53cb','\u670b\u53cb','p\u00e9ngy\u01d2u'), W('\u6703','\u4f1a','hu\u00ec'), W('\u5e36','\u5e26','d\u00e0i'), W('\u8c6c\u8173','\u732a\u811a','zh\u016bji\u01ceo'), W('\u9eb5\u7dda','\u9762\u7ebf','mi\u00e0nxi\u00e0n'), W('\u4f86','\u6765','l\u00e1i'), '\uff0c', W('\u9019','\u8fd9','zh\u00e8'), W('\u662f','\u662f','sh\u00ec'), W('\u81fa\u7063','\u53f0\u6e7e','T\u00e1iw\u0101n'), W('\u7684','\u7684','de'), W('\u50b3\u7d71','\u4f20\u7edf','chu\u00e1nt\u01d2ng'), '\u3002'],\n      en: \"I ordered a cake, and tonight friends will bring pork knuckles and noodles \u2014 it's a Taiwanese tradition.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u807d\u8d77\u4f86','\u542c\u8d77\u6765','T\u012bngq\u01d0l\u00e1i'), W('\u5f88','\u5f88','h\u011bn'), W('\u71b1\u5fc3','\u70ed\u5fc3','r\u00e8x\u012bn'), '\uff0c', W('\u795d','\u795d','zh\u00f9'), W('\u4f60','\u4f60','n\u01d0'), W('\u751f\u65e5\u5feb\u6a02','\u751f\u65e5\u5feb\u4e50','sh\u0113ngr\u00ec ku\u00e0il\u00e8'), '\uff0c', W('\u842c\u4e8b\u5982\u610f','\u4e07\u4e8b\u5982\u610f','w\u00e0nsh\u00ec r\u00fay\u00ec'), '\uff01'],\n      en: 'That sounds wonderful, happy birthday, may everything go your way!' },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u8b1d\u8b1d','\u8c22\u8c22','Xi\u00e8xie'), W('\u4f60','\u4f60','n\u01d0'), '\uff0c', W('\u592a\u5ba2\u6c23','\u592a\u5ba2\u6c14','t\u00e0i k\u00e8q\u00ec'), W('\u4e86','\u4e86','le'), '\u3002', W('\u5c0d\u4e86','\u5bf9\u4e86','Du\u00ecle'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u6700\u8fd1','\u6700\u8fd1','zu\u00ecj\u00ecn'), W('\u5728','\u5728','z\u00e0i'), W('\u5b78','\u5b66','xu\u00e9'), W('\u897f\u73ed\u7259\u6587','\u897f\u73ed\u7259\u6587','X\u012bb\u0101ny\u00e1 w\u00e9n'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: \"Thanks, that's very kind of you. By the way, are you learning Spanish these days?\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u5c0d\u554a','\u5bf9\u554a','Du\u00ec a'), '\uff0c', W('\u6211','\u6211','w\u01d2'), W('\u60f3','\u60f3','xi\u01ceng'), W('\u627e','\u627e','zh\u01ceo'), W('\u4eba','\u4eba','r\u00e9n'), W('\u4ea4\u63db','\u4ea4\u6362','ji\u0101ohu\u00e0n'), W('\u8a9e\u8a00','\u8bed\u8a00','y\u01d4y\u00e1n'), '\uff0c', W('\u4f60','\u4f60','n\u01d0'), W('\u8a8d\u8b58','\u8ba4\u8bc6','r\u00e8nshi'), W('\u5b78','\u5b66','xu\u00e9'), W('\u4e2d\u6587','\u4e2d\u6587','Zh\u014dngw\u00e9n'), W('\u7684','\u7684','de'), W('\u897f\u73ed\u7259','\u897f\u73ed\u7259','X\u012bb\u0101ny\u00e1'), W('\u4eba','\u4eba','r\u00e9n'), W('\u55ce','\u5417','ma'), '\uff1f'],\n      en: \"Yeah, I want to find someone to do a language exchange, do you know any Spanish people learning Chinese?\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u6211','\u6211','W\u01d2'), W('\u8a8d\u8b58','\u8ba4\u8bc6','r\u00e8nshi'), W('\u4e00','\u4e00','y\u00ed'), W('\u500b','\u4e2a','ge'), '\uff0c', W('\u4ed6','\u4ed6','t\u0101'), W('\u4eba','\u4eba','r\u00e9n'), W('\u5f88','\u5f88','h\u011bn'), W('\u5e74\u8f15','\u5e74\u8f7b','ni\u00e1nq\u012bng'), '\uff0c', W('\u4e5f','\u4e5f','y\u011b'), W('\u5f88','\u5f88','h\u011bn'), W('\u71b1\u5fc3','\u70ed\u5fc3','r\u00e8x\u012bn'), '\uff0c', W('\u4f60\u5011','\u4f60\u4eec','n\u01d0men'), W('\u53ef\u4ee5','\u53ef\u4ee5','k\u011by\u01d0'), W('\u4ea4\u63db','\u4ea4\u6362','ji\u0101ohu\u00e0n'), W('\u8a9e\u8a00','\u8bed\u8a00','y\u01d4y\u00e1n'), '\u3002'],\n      en: \"I know one, he's young and enthusiastic, you two could do a language exchange.\" },\n    { speakerT: '\u4f60', speakerS: '\u4f60',\n      tokens: [W('\u592a\u597d\u4e86','\u592a\u597d\u4e86','T\u00e0i h\u01ceo le'), '\uff0c', W('\u90a3','\u90a3','n\u00e0'), W('\u6211\u5011','\u6211\u4eec','w\u01d2men'), W('\u665a\u4e0a','\u665a\u4e0a','w\u01censh\u00e0ng'), W('\u4e03','\u4e03','q\u012b'), W('\u9ede','\u70b9','di\u01cen'), W('\u5de6\u53f3','\u5de6\u53f3','zu\u01d2y\u00f2u'), W('\u5728','\u5728','z\u00e0i'), W('\u9580\u53e3','\u95e8\u53e3','m\u00e9nk\u01d2u'), W('\u898b\u9762','\u89c1\u9762','ji\u00e0nmi\u00e0n'), W('\u5427','\u5427','ba'), '\u3002'],\n      en: \"Great, then let's meet at the entrance around 7pm tonight.\" },\n    { speakerT: '\u670b\u53cb', speakerS: '\u670b\u53cb',\n      tokens: [W('\u597d','\u597d','H\u01ceo'), '\uff0c', W('\u518d\u898b','\u518d\u89c1','z\u00e0iji\u00e0n'), '\uff01'],\n      en: 'Okay, see you then!' }\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=\"db13-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=\"db13-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=\"db13-word-card\">' +\n        '<div class=\"db13-word-top\">' +\n          '<span class=\"db13-num\">' + num + '<\/span>' +\n          '<span class=\"db13-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>' +\n          '<span class=\"db13-meaning\">' + w.meaning + '<\/span>' +\n          '<button class=\"db13-speaker\" data-trad=\"' + w.t + '\" data-simp=\"' + w.s + '\" aria-label=\"Play pronunciation\">' + SPEAKER_SVG + '<\/button>' +\n        '<\/div>' +\n        '<div class=\"db13-example\">' +\n          renderTokens(w.ex) +\n          '<span class=\"db13-en\">' + w.exEn + '<\/span>' +\n        '<\/div>' +\n      '<\/div>';\n    });\n    container.innerHTML = html;\n  });\n\n  var dialogueEl = root.querySelector('#db13-dialogue');\n  if (dialogueEl) {\n    var dHtml = '';\n    DIALOGUE.forEach(function (line) {\n      dHtml += '<div class=\"db13-line\">' +\n        '<span class=\"db13-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=\"db13-line-body\">' +\n          renderTokens(line.tokens) +\n          '<span class=\"db13-line-en\">' + line.en + '<\/span>' +\n        '<\/span>' +\n      '<\/div>';\n    });\n    dialogueEl.innerHTML = dHtml;\n  }\n\n  \/\/ ---- Flashcards ----\n  var fcCard = root.querySelector('#db13-flashcard');\n  var fcFront = root.querySelector('#db13-fc-front');\n  var fcBack = root.querySelector('#db13-fc-back');\n  var fcProgress = root.querySelector('#db13-fc-progress');\n  var fcPrevBtn = root.querySelector('#db13-fc-prev');\n  var fcNextBtn = root.querySelector('#db13-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=\"db13-hanzi\">' + headwordRuby(w.t, w.s, w.pt || w.p, w.ps || w.p) + '<\/span>';\n    fcBack.innerHTML = '<span class=\"db13-meaning\">' + w.meaning + '<\/span>';\n    if (fcProgress) fcProgress.textContent = (fcIndex + 1) + ' \/ ' + ALL_WORDS.length;\n    if (fcCard) fcCard.classList.remove('db13-flipped');\n    fcFlipped = false;\n  }\n\n  if (fcCard) {\n    fcCard.addEventListener('click', function () {\n      fcFlipped = !fcFlipped;\n      fcCard.classList.toggle('db13-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('#db13-game-col-zh');\n  var gameColEn = root.querySelector('#db13-game-col-en');\n  var gameStatus = root.querySelector('#db13-game-status');\n  var gameWin = root.querySelector('#db13-game-win');\n  var gameNewBtn = root.querySelector('#db13-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('db13-show');\n\n    var zhOrder = shuffle(gameRound);\n    var enOrder = shuffle(gameRound);\n\n    gameColZh.innerHTML = zhOrder.map(function (w) {\n      return '<button class=\"db13-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=\"db13-tile-py\">' + (w.pt || w.p) + '<\/span>' +\n      '<\/button>';\n    }).join('');\n\n    gameColEn.innerHTML = enOrder.map(function (w) {\n      return '<button class=\"db13-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('db13-matched')) return;\n    var side = tile.getAttribute('data-side');\n\n    if (side === 'zh') {\n      if (gameSelectedZh) gameSelectedZh.classList.remove('db13-selected');\n      gameSelectedZh = tile;\n      tile.classList.add('db13-selected');\n    } else {\n      if (gameSelectedEn) gameSelectedEn.classList.remove('db13-selected');\n      gameSelectedEn = tile;\n      tile.classList.add('db13-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('db13-selected');\n          gameSelectedEn.classList.remove('db13-selected');\n          gameSelectedZh.classList.add('db13-matched');\n          gameSelectedEn.classList.add('db13-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('db13-show');\n            }\n          }\n        } else {\n          gameBusy = true;\n          var z = gameSelectedZh, en = gameSelectedEn;\n          z.classList.add('db13-wrong');\n          en.classList.add('db13-wrong');\n          setTimeout(function () {\n            z.classList.remove('db13-selected', 'db13-wrong');\n            en.classList.remove('db13-selected', 'db13-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('.db13-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: '\u751f\u65e5 means...', options: ['birthday', 'gift', 'cake', 'tradition'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u5feb\u6a02<\/span><span class=\"lang-zh-CN\">\u5feb\u4e50<\/span>.', accept: ['kuaile'] },\n    { type: 'mc', prompt: 'Which word means \"to forget\"?', options: ['\u5fd8(\u4e86)', '\u8a18\u5f97', '\u56de\u4f86', '\u600e\u9ebc'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for \u8a18\u5f97\/\u8bb0\u5f97.', accept: ['to remember', 'remember'] },\n    { type: 'mc', prompt: '\u597d\u4e45\u4e0d\u898b\/\u597d\u4e45\u4e0d\u89c1 means...', options: ['long time no see', 'happy birthday', 'thank you', 'no problem'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u4ea4\u63db<\/span><span class=\"lang-zh-CN\">\u4ea4\u6362<\/span>.', accept: ['jiaohuan'] },\n    { type: 'mc', prompt: '<span class=\"lang-zh-TW\">\u71b1\u5fc3<\/span><span class=\"lang-zh-CN\">\u70ed\u5fc3<\/span> means...', options: ['with enthusiasm', 'lazy', 'shy', 'strict'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u79ae\u7269<\/span><span class=\"lang-zh-CN\">\u793c\u7269<\/span>.', accept: ['gift', 'present'] },\n    { type: 'mc', prompt: 'Which word means \"pork knuckles\"?', options: ['\u8c6c\u8173', '\u9eb5\u7dda', '\u86cb', '\u86cb\u7cd5'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for <span class=\"lang-zh-TW\">\u50b3\u7d71<\/span><span class=\"lang-zh-CN\">\u4f20\u7edf<\/span>.', accept: ['chuantong'] },\n    { type: 'mc', prompt: '\u5927\u90e8\u5206 means...', options: ['most (of), mostly', 'a little', 'all', 'none'], answer: 0 },\n    { type: 'type', prompt: 'Type the English word for <span class=\"lang-zh-TW\">\u5e74\u8f15<\/span><span class=\"lang-zh-CN\">\u5e74\u8f7b<\/span>.', accept: ['young'] },\n    { type: 'mc', prompt: '\u795d (as in \u795d\u4f60\u751f\u65e5\u5feb\u6a02) means...', options: ['to wish (somebody happiness)', 'to celebrate', 'to give', 'to remember'], answer: 0 },\n    { type: 'type', prompt: 'Type the pinyin for \u5de6\u53f3.', accept: ['zuoyou'] },\n    { type: 'mc', prompt: '\u9580\u53e3\/\u95e8\u53e3 means...', options: ['gate, entrance', 'window', 'kitchen', 'living room'], answer: 0 }\n  ];\n\n  var quizRoot = root.querySelector('#db13-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=\"db13-quiz-progress\">Question ' + (quizCurrent + 1) + ' of ' + QUIZ_DATA.length + '<\/p>';\n      html += '<p class=\"db13-quiz-prompt\">' + q.prompt + '<\/p>';\n      if (q.type === 'mc') {\n        html += '<div class=\"db13-quiz-options\">';\n        for (var i = 0; i < q.options.length; i++) {\n          html += '<button type=\"button\" class=\"db13-quiz-opt\" data-i=\"' + i + '\">' + q.options[i] + '<\/button>';\n        }\n        html += '<\/div>';\n      } else {\n        html += '<div class=\"db13-quiz-input-row\">';\n        html += '<input type=\"text\" class=\"db13-quiz-input\" placeholder=\"Type your answer\">';\n        html += '<button type=\"button\" class=\"db13-quiz-submit\">Submit<\/button>';\n        html += '<\/div>';\n      }\n      html += '<p class=\"db13-quiz-feedback\"><\/p>';\n      html += '<button type=\"button\" class=\"db13-quiz-next\" style=\"display:none;\">Next<\/button>';\n      quizRoot.innerHTML = html;\n\n      if (q.type === 'mc') {\n        var quizOpts = quizRoot.querySelectorAll('.db13-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('.db13-quiz-input');\n        var quizSubmitBtn = quizRoot.querySelector('.db13-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('.db13-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 = 'db13-quiz-feedback ' + (correct ? 'correct' : 'incorrect');\n        var quizNextBtn = quizRoot.querySelector('.db13-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=\"db13-quiz-score\">' +\n        '<span class=\"db13-quiz-score-num\">' + quizScore + ' \/ ' + QUIZ_DATA.length + '<\/span>' +\n        '<p>Nice work! Want to try again?<\/p>' +\n        '<button type=\"button\" class=\"db13-quiz-retake\">Retake Quiz<\/button>' +\n        '<\/div>';\n      quizRoot.querySelector('.db13-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('.db13-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-12994","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 L13 Vocabulary and Practice - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13\" \/>\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\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B1 L13 Vocabulary and Practice - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-04T11:44:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-08T08:27:30+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\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"B1 L13 Vocabulary and Practice\",\"datePublished\":\"2025-08-04T11:44:06+00:00\",\"dateModified\":\"2026-09-08T08:27:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#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\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/\",\"name\":\"B1 L13 Vocabulary and Practice - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/\u7576\u4ee3\u4e2d\u6587.jpg\",\"datePublished\":\"2025-08-04T11:44:06+00:00\",\"dateModified\":\"2026-09-08T08:27:30+00:00\",\"description\":\"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2025\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#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\\\/08\\\/04\\\/contemporary-chinese-vocabulary-practice-b1l13\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B1 L13 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 L13 Vocabulary and Practice - OneDotDot Chinese","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13","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\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/","og_locale":"en_US","og_type":"article","og_title":"B1 L13 Vocabulary and Practice - OneDotDot Chinese","og_description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/","og_site_name":"OneDotDot Chinese","article_published_time":"2025-08-04T11:44:06+00:00","article_modified_time":"2026-09-08T08:27:30+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\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"B1 L13 Vocabulary and Practice","datePublished":"2025-08-04T11:44:06+00:00","dateModified":"2026-09-08T08:27:30+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/"},"wordCount":9,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#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\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/","name":"B1 L13 Vocabulary and Practice - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2024\/09\/\u7576\u4ee3\u4e2d\u6587.jpg","datePublished":"2025-08-04T11:44:06+00:00","dateModified":"2026-09-08T08:27:30+00:00","description":"Strengthen your vocabulary \u7576\u4ee3\u4e2d\u6587\u7b2c\u4e00\u518a\u7b2c\u5341\u4e09\u8ab2 \u55ae\u8a5e\u7df4\u7fd2 \u8907\u7fd2 \u8003\u8a66 Contemporary Chinese Vocabulary Practice Book 1 \u2013 Lesson 13","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2025\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#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\/08\/04\/contemporary-chinese-vocabulary-practice-b1l13\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"B1 L13 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\/12994","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=12994"}],"version-history":[{"count":2,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12994\/revisions"}],"predecessor-version":[{"id":16749,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/12994\/revisions\/16749"}],"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=12994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=12994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=12994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}