{"id":18697,"date":"2026-10-28T16:33:51","date_gmt":"2026-10-28T08:33:51","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=18697"},"modified":"2026-10-28T17:05:00","modified_gmt":"2026-10-28T09:05:00","slug":"ba-practice-2","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/","title":{"rendered":"\u628a Practice 2"},"content":{"rendered":"\n<div style=\"height:4px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"oddc-ba-game-post\" class=\"oddc-ba-post-wrapper\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@500;600&#038;family=Noto+Sans+SC:wght@500;700&#038;family=Noto+Sans+TC:wght@500;700&#038;family=Noto+Serif+TC:wght@700;900&#038;family=Playfair+Display:ital,wght@0,700;1,700;1,800&#038;family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&#038;family=Quicksand:wght@600;700&#038;display=swap\" rel=\"stylesheet\">\n  <style>\n    #oddc-ba-game-post {\n      box-sizing: border-box !important;\n      font-family: 'Quicksand', 'Noto Sans TC', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif !important;\n      color: #2C3E46 !important;\n      background-color: transparent !important;\n      width: 100% !important;\n      max-width: 920px !important;\n      margin: 24px auto !important;\n      padding: 0 12px !important;\n      line-height: 1.5 !important;\n      -webkit-font-smoothing: antialiased !important;\n    }\n    #oddc-ba-game-post *,\n    #oddc-ba-game-post *::before,\n    #oddc-ba-game-post *::after {\n      box-sizing: border-box !important;\n    }\n    \/* 1. Frameless Editorial Intro Section *\/\n    #oddc-ba-game-post .oddc-editorial-intro {\n      background-color: transparent !important;\n      padding: 8px 4px 28px 4px !important;\n      margin: 0 0 16px 0 !important;\n      border: none !important;\n      border-radius: 0 !important;\n      box-shadow: none !important;\n      text-align: left !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-kicker {\n      font-family: 'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif !important;\n      font-size: 13px !important;\n      font-weight: 700 !important;\n      letter-spacing: 0.14em !important;\n      text-transform: uppercase !important;\n      color: #B8862D !important;\n      margin: 0 0 14px 0 !important;\n      padding: 0 !important;\n      line-height: 1.4 !important;\n      display: block !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-title {\n      font-family: 'Playfair Display', 'Source Serif 4', Georgia, serif !important;\n      font-size: 40px !important;\n      font-weight: 800 !important;\n      font-style: italic !important;\n      color: #24292E !important;\n      margin: 0 0 22px 0 !important;\n      padding: 0 !important;\n      line-height: 1.2 !important;\n      letter-spacing: -0.01em !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-title .oddc-hanzi-ba {\n      font-family: 'Noto Serif TC', 'Songti TC', 'SimSun', serif !important;\n      font-style: normal !important;\n      font-weight: 900 !important;\n      color: #334E68 !important;\n      margin-right: 6px !important;\n      font-size: 42px !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-p {\n      font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif !important;\n      font-size: 18px !important;\n      font-weight: 400 !important;\n      color: #4A4F55 !important;\n      line-height: 1.72 !important;\n      margin: 0 0 18px 0 !important;\n      padding: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-p:last-child {\n      margin-bottom: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-p strong {\n      font-weight: 600 !important;\n      color: #24292E !important;\n    }\n    #oddc-ba-game-post .oddc-editorial-code {\n      font-family: 'IBM Plex Mono', monospace !important;\n      font-size: 15.5px !important;\n      font-weight: 500 !important;\n      color: #A6761D !important;\n      background-color: #FBF6EC !important;\n      padding: 3px 9px !important;\n      border-radius: 6px !important;\n      border: 1px solid #F1E4C8 !important;\n      white-space: nowrap !important;\n      display: inline-block !important;\n      line-height: 1.4 !important;\n      margin: 0 2px !important;\n    }\n    \/* 2. Main Game Card *\/\n    #oddc-ba-game-post .oddc-game-card {\n      background-color: #FFFFFF !important;\n      background-image: radial-gradient(#DCE5E8 1.2px, transparent 1.2px) !important;\n      background-size: 22px 22px !important;\n      border: 2.5px solid #4A6B7C !important;\n      border-radius: 22px !important;\n      box-shadow: 0 10px 28px rgba(74, 107, 124, 0.12) !important;\n      padding: 22px !important;\n      position: relative !important;\n      overflow: hidden !important;\n    }\n    #oddc-ba-game-post .oddc-topbar {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 12px !important;\n      background-color: #FFFFFF !important;\n      border: 2px solid #96B3C2 !important;\n      border-radius: 16px !important;\n      padding: 12px 16px !important;\n      margin-bottom: 16px !important;\n    }\n    #oddc-ba-game-post .oddc-brand-box {\n      display: flex !important;\n      flex-direction: column !important;\n      gap: 2px !important;\n    }\n    #oddc-ba-game-post .oddc-brand-sub {\n      font-size: 11px !important;\n      font-weight: 700 !important;\n      text-transform: uppercase !important;\n      letter-spacing: 0.08em !important;\n      color: #6B8E9B !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-brand-main {\n      font-size: 18px !important;\n      font-weight: 700 !important;\n      color: #2C3E46 !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-controls-row {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      gap: 8px !important;\n    }\n    #oddc-ba-game-post button.oddc-btn,\n    #oddc-ba-game-post select.oddc-select {\n      appearance: none !important;\n      -webkit-appearance: none !important;\n      font-family: 'Quicksand', 'Noto Sans TC', 'Noto Sans SC', sans-serif !important;\n      font-size: 13px !important;\n      font-weight: 700 !important;\n      line-height: 1.2 !important;\n      padding: 8px 13px !important;\n      border-radius: 11px !important;\n      border: 2px solid #6B8E9B !important;\n      background-color: #F4F8FA !important;\n      color: #2C3E46 !important;\n      cursor: pointer !important;\n      transition: all 0.15s ease !important;\n      display: inline-flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      gap: 5px !important;\n      margin: 0 !important;\n      text-decoration: none !important;\n      box-shadow: 0 2px 0 #96B3C2 !important;\n    }\n    #oddc-ba-game-post select.oddc-select {\n      padding-right: 26px !important;\n      background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A6B7C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\") !important;\n      background-repeat: no-repeat !important;\n      background-position: right 8px center !important;\n    }\n    #oddc-ba-game-post button.oddc-btn:hover,\n    #oddc-ba-game-post select.oddc-select:hover {\n      background-color: #E3EEF2 !important;\n      transform: translateY(-1px) !important;\n    }\n    #oddc-ba-game-post button.oddc-btn-primary {\n      background-color: #4A6B7C !important;\n      color: #FFFFFF !important;\n      border-color: #2C3E46 !important;\n      box-shadow: 0 3px 0 #2C3E46 !important;\n    }\n    #oddc-ba-game-post button.oddc-btn-primary:hover {\n      background-color: #3B5867 !important;\n      color: #FFFFFF !important;\n    }\n    #oddc-ba-game-post button.oddc-btn-coral {\n      background-color: #D98A76 !important;\n      color: #FFFFFF !important;\n      border-color: #A65E4E !important;\n      box-shadow: 0 3px 0 #A65E4E !important;\n    }\n    #oddc-ba-game-post button.oddc-btn-coral:hover {\n      background-color: #C87864 !important;\n      color: #FFFFFF !important;\n    }\n    \/* Scenario Tabs *\/\n    #oddc-ba-game-post .oddc-tabs-row {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      gap: 8px !important;\n      margin-bottom: 16px !important;\n    }\n    #oddc-ba-game-post button.oddc-tab-btn {\n      flex: 1 1 auto !important;\n      min-width: 135px !important;\n      padding: 9px 12px !important;\n      border-radius: 12px !important;\n      border: 2px solid #96B3C2 !important;\n      background-color: #FFFFFF !important;\n      color: #4A6B7C !important;\n      font-family: 'Quicksand', 'Noto Sans TC', sans-serif !important;\n      font-size: 13px !important;\n      font-weight: 700 !important;\n      cursor: pointer !important;\n      transition: all 0.15s ease !important;\n      text-align: center !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post button.oddc-tab-btn.oddc-tab-active {\n      background-color: #4A6B7C !important;\n      color: #FFFFFF !important;\n      border-color: #2C3E46 !important;\n      box-shadow: 0 3px 0 #2C3E46 !important;\n    }\n    \/* Scenario Banner Grid *\/\n    #oddc-ba-game-post .oddc-scenario-banner {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      gap: 18px !important;\n      background-color: #F4F8FA !important;\n      border: 2px dashed #6B8E9B !important;\n      border-radius: 18px !important;\n      padding: 16px !important;\n      margin-bottom: 18px !important;\n    }\n    #oddc-ba-game-post .oddc-img-frame {\n      width: 230px !important;\n      height: 165px !important;\n      min-width: 230px !important;\n      min-height: 165px !important;\n      border-radius: 14px !important;\n      border: 2px solid #6B8E9B !important;\n      background-color: #FFFFFF !important;\n      overflow: hidden !important;\n      display: flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      flex-shrink: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-img-frame img.oddc-img {\n      width: 230px !important;\n      height: 165px !important;\n      max-width: 100% !important;\n      object-fit: cover !important;\n      display: block !important;\n      margin: 0 !important;\n      padding: 0 !important;\n      border: none !important;\n      border-radius: 12px !important;\n    }\n    #oddc-ba-game-post .oddc-scenario-info {\n      flex: 1 1 280px !important;\n      display: flex !important;\n      flex-direction: column !important;\n      gap: 8px !important;\n    }\n    #oddc-ba-game-post .oddc-badge-row {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 8px !important;\n    }\n    #oddc-ba-game-post .oddc-crisis-badge {\n      background-color: #D98A76 !important;\n      color: #FFFFFF !important;\n      font-size: 11px !important;\n      font-weight: 700 !important;\n      padding: 4px 10px !important;\n      border-radius: 99px !important;\n      text-transform: uppercase !important;\n      letter-spacing: 0.05em !important;\n    }\n    #oddc-ba-game-post .oddc-status-pills {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      gap: 6px !important;\n    }\n    #oddc-ba-game-post .oddc-score-pill {\n      font-size: 12.5px !important;\n      font-weight: 700 !important;\n      color: #4A6B7C !important;\n      background-color: #FFFFFF !important;\n      border: 1.5px solid #96B3C2 !important;\n      padding: 4px 11px !important;\n      border-radius: 99px !important;\n      display: inline-flex !important;\n      align-items: center !important;\n      gap: 5px !important;\n    }\n    #oddc-ba-game-post .oddc-scenario-title {\n      font-size: 20px !important;\n      font-weight: 700 !important;\n      color: #2C3E46 !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-scenario-desc {\n      font-size: 14.5px !important;\n      color: #3D525C !important;\n      background-color: #FFFFFF !important;\n      border-left: 4px solid #6B8E9B !important;\n      padding: 10px 14px !important;\n      border-radius: 8px !important;\n      margin: 0 !important;\n      line-height: 1.55 !important;\n    }\n    \/* Task Box *\/\n    #oddc-ba-game-post .oddc-task-box {\n      background-color: #FFFFFF !important;\n      border: 2px solid #6B8E9B !important;\n      border-radius: 18px !important;\n      padding: 18px !important;\n    }\n    #oddc-ba-game-post .oddc-task-header {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 10px !important;\n      margin-bottom: 14px !important;\n      padding-bottom: 12px !important;\n      border-bottom: 1.5px dashed #DCE5E8 !important;\n    }\n    #oddc-ba-game-post .oddc-step-dots {\n      display: flex !important;\n      align-items: center !important;\n      gap: 8px !important;\n    }\n    #oddc-ba-game-post button.oddc-step-btn {\n      padding: 6px 12px !important;\n      border-radius: 99px !important;\n      border: 2px solid #96B3C2 !important;\n      background-color: #F4F8FA !important;\n      color: #4A6B7C !important;\n      font-size: 12px !important;\n      font-weight: 700 !important;\n      cursor: pointer !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post button.oddc-step-btn.oddc-step-active {\n      background-color: #4A6B7C !important;\n      color: #FFFFFF !important;\n      border-color: #2C3E46 !important;\n    }\n    #oddc-ba-game-post button.oddc-step-btn.oddc-step-done {\n      background-color: #7FA98F !important;\n      color: #FFFFFF !important;\n      border-color: #4F775E !important;\n    }\n    #oddc-ba-game-post .oddc-target-prompt {\n      background-color: #F4F8FA !important;\n      border: 1.5px solid #96B3C2 !important;\n      border-radius: 12px !important;\n      padding: 12px 16px !important;\n      margin-bottom: 16px !important;\n    }\n    #oddc-ba-game-post .oddc-target-label {\n      font-size: 11px !important;\n      font-weight: 700 !important;\n      text-transform: uppercase !important;\n      letter-spacing: 0.06em !important;\n      color: #6B8E9B !important;\n      margin: 0 0 4px 0 !important;\n    }\n    #oddc-ba-game-post .oddc-target-text {\n      font-size: 16px !important;\n      font-weight: 700 !important;\n      color: #2C3E46 !important;\n      margin: 0 !important;\n    }\n    \/* Drop Zone & Bank Zone *\/\n    #oddc-ba-game-post .oddc-zone-label {\n      font-size: 12px !important;\n      font-weight: 700 !important;\n      color: #6B8E9B !important;\n      margin: 0 0 6px 0 !important;\n      display: block !important;\n    }\n    #oddc-ba-game-post .oddc-answer-zone {\n      min-height: 92px !important;\n      background-color: #F9FCFD !important;\n      border: 2.5px dashed #6B8E9B !important;\n      border-radius: 14px !important;\n      padding: 12px !important;\n      margin-bottom: 16px !important;\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      gap: 10px !important;\n    }\n    #oddc-ba-game-post .oddc-bank-zone {\n      min-height: 92px !important;\n      background-color: #F4F8FA !important;\n      border: 2px solid #DCE5E8 !important;\n      border-radius: 14px !important;\n      padding: 12px !important;\n      margin-bottom: 16px !important;\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      gap: 10px !important;\n    }\n    #oddc-ba-game-post .oddc-placeholder-msg {\n      color: #8BA3AE !important;\n      font-size: 14px !important;\n      font-weight: 600 !important;\n      margin: auto !important;\n      text-align: center !important;\n      pointer-events: none !important;\n    }\n    \/* Word Tiles *\/\n    #oddc-ba-game-post button.oddc-word-tile {\n      display: inline-flex !important;\n      flex-direction: column !important;\n      align-items: center !important;\n      justify-content: center !important;\n      padding: 8px 15px !important;\n      min-width: 64px !important;\n      min-height: 58px !important;\n      background-color: #FFFFFF !important;\n      border: 2px solid #4A6B7C !important;\n      border-radius: 12px !important;\n      box-shadow: 0 3px 0 #4A6B7C !important;\n      cursor: pointer !important;\n      transition: transform 0.12s ease, background-color 0.12s ease !important;\n      margin: 0 !important;\n      user-select: none !important;\n    }\n    #oddc-ba-game-post button.oddc-word-tile:hover {\n      background-color: #F0F6F9 !important;\n      transform: translateY(-2px) !important;\n    }\n    #oddc-ba-game-post button.oddc-word-tile.oddc-tile-ba {\n      background-color: #FFF4F1 !important;\n      border-color: #D98A76 !important;\n      box-shadow: 0 3px 0 #D98A76 !important;\n    }\n    #oddc-ba-game-post .oddc-tile-py {\n      font-size: 11px !important;\n      font-weight: 600 !important;\n      color: #6B8E9B !important;\n      line-height: 1.2 !important;\n      margin-bottom: 2px !important;\n      display: block !important;\n    }\n    #oddc-ba-game-post .oddc-tile-hz {\n      font-size: 19px !important;\n      font-weight: 700 !important;\n      color: #2C3E46 !important;\n      line-height: 1.25 !important;\n      display: block !important;\n    }\n    #oddc-ba-game-post .oddc-tile-gl {\n      font-size: 10.5px !important;\n      font-weight: 600 !important;\n      color: #A66E5E !important;\n      background-color: #FDF6F3 !important;\n      padding: 1px 6px !important;\n      border-radius: 4px !important;\n      margin-top: 3px !important;\n      line-height: 1.2 !important;\n      display: block !important;\n    }\n    \/* Feedback Box *\/\n    #oddc-ba-game-post .oddc-feedback-box {\n      padding: 12px 16px !important;\n      border-radius: 12px !important;\n      font-size: 14px !important;\n      font-weight: 700 !important;\n      margin-bottom: 14px !important;\n      display: none !important;\n    }\n    #oddc-ba-game-post .oddc-feedback-box.oddc-fb-show {\n      display: block !important;\n    }\n    #oddc-ba-game-post .oddc-feedback-box.oddc-fb-ok {\n      background-color: #EBF5EE !important;\n      border: 2px solid #7FA98F !important;\n      color: #2E5A3E !important;\n    }\n    #oddc-ba-game-post .oddc-feedback-box.oddc-fb-err {\n      background-color: #FDF0ED !important;\n      border: 2px solid #D98A76 !important;\n      color: #8C3B2B !important;\n    }\n    #oddc-ba-game-post .oddc-action-bar {\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 10px !important;\n    }\n    \/* Modals (Grammar Guide & Review Sheet) *\/\n    #oddc-ba-game-post .oddc-modal-overlay {\n      display: none !important;\n      position: fixed !important;\n      top: 0 !important;\n      left: 0 !important;\n      right: 0 !important;\n      bottom: 0 !important;\n      background-color: rgba(44, 62, 70, 0.55) !important;\n      z-index: 99999 !important;\n      align-items: center !important;\n      justify-content: center !important;\n      padding: 16px !important;\n    }\n    #oddc-ba-game-post .oddc-modal-overlay.oddc-modal-open {\n      display: flex !important;\n    }\n    #oddc-ba-game-post .oddc-modal-card {\n      background-color: #FFFFFF !important;\n      border: 2.5px solid #4A6B7C !important;\n      border-radius: 20px !important;\n      max-width: 680px !important;\n      width: 100% !important;\n      max-height: 85vh !important;\n      overflow-y: auto !important;\n      padding: 22px !important;\n      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22) !important;\n    }\n    #oddc-ba-game-post .oddc-modal-header {\n      display: flex !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      border-bottom: 1.5px solid #DCE5E8 !important;\n      padding-bottom: 12px !important;\n      margin-bottom: 14px !important;\n    }\n    #oddc-ba-game-post .oddc-modal-title {\n      font-size: 18px !important;\n      font-weight: 700 !important;\n      color: #2C3E46 !important;\n      margin: 0 !important;\n    }\n    #oddc-ba-game-post .oddc-review-item {\n      padding: 10px 12px !important;\n      border: 1px solid #DCE5E8 !important;\n      border-radius: 10px !important;\n      margin-bottom: 8px !important;\n      background-color: #F9FCFD !important;\n      display: flex !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      gap: 10px !important;\n    }\n    \/* Footer *\/\n    #oddc-ba-game-post .oddc-footer {\n      margin-top: 18px !important;\n      padding-top: 12px !important;\n      border-top: 1.5px dashed #96B3C2 !important;\n      display: flex !important;\n      flex-wrap: wrap !important;\n      align-items: center !important;\n      justify-content: space-between !important;\n      font-size: 12px !important;\n      font-weight: 700 !important;\n      color: #6B8E9B !important;\n    }\n    #oddc-ba-game-post .oddc-footer a {\n      color: #4A6B7C !important;\n      text-decoration: none !important;\n    }\n    @media (max-width: 640px) {\n      #oddc-ba-game-post .oddc-editorial-title {\n        font-size: 30px !important;\n      }\n      #oddc-ba-game-post .oddc-editorial-title .oddc-hanzi-ba {\n        font-size: 32px !important;\n      }\n      #oddc-ba-game-post .oddc-editorial-p {\n        font-size: 16px !important;\n      }\n      #oddc-ba-game-post .oddc-img-frame {\n        width: 100% !important;\n      }\n      #oddc-ba-game-post .oddc-img-frame img.oddc-img {\n        width: 100% !important;\n      }\n    }\n  <\/style>\n  <!-- 1. FRAMELESS EDITORIAL INTRO SECTION -->\n  <div class=\"oddc-editorial-intro\">\n    <span class=\"oddc-editorial-kicker\">GRAMMAR PRACTICE \u00b7 SENTENCE STRUCTURE<\/span>\n    <h1 class=\"oddc-editorial-title\"><span class=\"oddc-hanzi-ba\">\u628a<\/span> b\u01ce Crisis Management Practice<\/h1>\n    <p class=\"oddc-editorial-p\">\n      The <strong>\u628a b\u01ce<\/strong> construction moves the object in front of the verb:\n      <span class=\"oddc-editorial-code\">Subject + (Adverb \/ Modal) + \u628a + Object + Verb (+ Result)<\/span>.\n    <\/p>\n    <p class=\"oddc-editorial-p\">\n      It\u2019s used when a sentence describes what happens to a specific, already-known thing \u2014 moving it, placing it, finishing it off, or handling an urgent situation. Remember that negation words (like <strong>\u6c92<\/strong> or <strong>\u5225<\/strong>) and modal verbs (like <strong>\u5f97<\/strong>) always go <em>before<\/em> <strong>\u628a<\/strong>.\n    <\/p>\n    <p class=\"oddc-editorial-p\">\n      Tap the tiles below to build each emergency response sentence yourself. Work your way through all 5 real-life crises \u2014 from a sudden thunderstorm with a frightened black dog to a busy Taiwanese stir-fry kitchen!\n    <\/p>\n  <\/div>\n  <!-- 2. MAIN INTERACTIVE GAME CARD -->\n  <div class=\"oddc-game-card\">\n    <div class=\"oddc-topbar\">\n      <div class=\"oddc-brand-box\">\n        <p class=\"oddc-brand-sub\">OneDotDot Chinese \u00b7 Tiffany Huang<\/p>\n        <p class=\"oddc-brand-main\">Crisis Management: The &#8220;\u628a&#8221; Challenge<\/p>\n      <\/div>\n      <div class=\"oddc-controls-row\">\n        <button type=\"button\" class=\"oddc-btn\" id=\"oddc-script-btn\" onclick=\"window.oddcBaToggleScript()\">\u7e41\u9ad4 \/ \u7b80\u4f53: \u7e41\u9ad4<\/button>\n        <select class=\"oddc-select\" id=\"oddc-lang-select\" onchange=\"window.oddcBaChangeLang(this.value)\">\n          <option value=\"en\">\ud83c\udf10 English<\/option>\n          <option value=\"ja\">\ud83c\udf10 \u65e5\u672c\u8a9e<\/option>\n          <option value=\"ko\">\ud83c\udf10 \ud55c\uad6d\uc5b4<\/option>\n        <\/select>\n        <button type=\"button\" class=\"oddc-btn\" id=\"oddc-py-btn\" onclick=\"window.oddcBaTogglePinyin()\">Pinyin: ON<\/button>\n        <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaOpenModal('oddc-guide-modal')\">\ud83d\udcd6 Grammar Guide<\/button>\n        <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaOpenReview()\">\ud83d\udccb Review (15)<\/button>\n      <\/div>\n    <\/div>\n    <!-- 5 Crisis Scenario Tabs (Pre-populated for immediate render) -->\n    <div class=\"oddc-tabs-row\" id=\"oddc-scenario-tabs\">\n      <button type=\"button\" class=\"oddc-tab-btn oddc-tab-active\" onclick=\"window.oddcBaSelectScenario(0)\">\u26c8\ufe0f Crisis 1<\/button>\n      <button type=\"button\" class=\"oddc-tab-btn\" onclick=\"window.oddcBaSelectScenario(1)\">\ud83c\udfe0 Crisis 2<\/button>\n      <button type=\"button\" class=\"oddc-tab-btn\" onclick=\"window.oddcBaSelectScenario(2)\">\ud83c\udf73 Crisis 3<\/button>\n      <button type=\"button\" class=\"oddc-tab-btn\" onclick=\"window.oddcBaSelectScenario(3)\">\ud83d\udcbb Crisis 4<\/button>\n      <button type=\"button\" class=\"oddc-tab-btn\" onclick=\"window.oddcBaSelectScenario(4)\">\ud83e\uddcb Crisis 5<\/button>\n    <\/div>\n    <!-- Scenario Banner -->\n    <div class=\"oddc-scenario-banner\">\n      <div id=\"oddcCrisisIllustration\" class=\"oddc-img-frame\">\n        <img id=\"oddc-scenario-img\" class=\"oddc-img skip-lazy no-lazyload\" data-no-lazy=\"1\" loading=\"eager\" decoding=\"async\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg\" alt=\"Crisis Scenario\">\n      <\/div>\n      <div class=\"oddc-scenario-info\">\n        <div class=\"oddc-badge-row\">\n          <span class=\"oddc-crisis-badge\" id=\"oddc-crisis-tag\">CRISIS 1 OF 5<\/span>\n          <div class=\"oddc-status-pills\">\n            <span class=\"oddc-score-pill\" id=\"oddc-timer-pill\" onclick=\"window.oddcBaToggleTimer()\" style=\"cursor:pointer!important;\" title=\"Click to pause\/resume timer\">\u23f1\ufe0f 45s<\/span>\n            <span class=\"oddc-score-pill\" id=\"oddc-score-display\">\u2b50 Solved: 0 \/ 15<\/span>\n          <\/div>\n        <\/div>\n        <h2 class=\"oddc-scenario-title\" id=\"oddc-scenario-title\">Thunderstorm &#038; The Black Dog<\/h2>\n        <p class=\"oddc-scenario-desc\" id=\"oddc-scenario-desc\">Thunder is roaring outside! Your cute black dog has flattened its &#8216;airplane ears&#8217; and is shivering in fear. Act fast!<\/p>\n      <\/div>\n    <\/div>\n    <!-- Active Task Workspace -->\n    <div class=\"oddc-task-box\">\n      <div class=\"oddc-task-header\">\n        <div class=\"oddc-step-dots\" id=\"oddc-step-dots\">\n          <button type=\"button\" class=\"oddc-step-btn oddc-step-active\" onclick=\"window.oddcBaSelectTask(0)\">Task 1<\/button>\n          <button type=\"button\" class=\"oddc-step-btn\" onclick=\"window.oddcBaSelectTask(1)\">Task 2<\/button>\n          <button type=\"button\" class=\"oddc-step-btn\" onclick=\"window.oddcBaSelectTask(2)\">Task 3<\/button>\n        <\/div>\n        <div class=\"oddc-controls-row\">\n          <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaSpeakCurrent()\">\ud83d\udd0a Listen<\/button>\n          <button type=\"button\" class=\"oddc-btn\" id=\"oddc-gloss-btn\" onclick=\"window.oddcBaToggleGloss()\">\ud83d\udd24 Tile Meaning: OFF<\/button>\n          <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaResetTask()\">\u21ba Reset<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"oddc-target-prompt\">\n        <p class=\"oddc-target-label\">\ud83c\udfaf Target Meaning (Build this sentence in Chinese):<\/p>\n        <p class=\"oddc-target-text\" id=\"oddc-target-meaning\">&#8220;You quickly close the window!&#8221;<\/p>\n      <\/div>\n      <span class=\"oddc-zone-label\">\ud83d\udc47 Your Sentence (Tap tiles to remove):<\/span>\n      <div class=\"oddc-answer-zone\" id=\"oddc-answer-zone\">\n        <span class=\"oddc-placeholder-msg\">Tap word tiles below to assemble your &#8220;\u628a&#8221; sentence here&#8230;<\/span>\n      <\/div>\n      <span class=\"oddc-zone-label\">\ud83e\udde9 Word Tile Bank (Tap tiles to add):<\/span>\n      <!-- Pre-populated initial tiles so they are visible immediately even before JS runs -->\n      <div class=\"oddc-bank-zone\" id=\"oddc-bank-zone\">\n        <button type=\"button\" class=\"oddc-word-tile\" onclick=\"window.oddcBaPickTile(0)\"><span class=\"oddc-tile-py\">chu\u0101ngh\u00f9<\/span><span class=\"oddc-tile-hz\">\u7a97\u6236<\/span><\/button>\n        <button type=\"button\" class=\"oddc-word-tile oddc-tile-ba\" onclick=\"window.oddcBaPickTile(1)\"><span class=\"oddc-tile-py\">b\u01ce<\/span><span class=\"oddc-tile-hz\">\u628a<\/span><\/button>\n        <button type=\"button\" class=\"oddc-word-tile\" onclick=\"window.oddcBaPickTile(2)\"><span class=\"oddc-tile-py\">gu\u0101n q\u01d0l\u00e1i<\/span><span class=\"oddc-tile-hz\">\u95dc\u8d77\u4f86<\/span><\/button>\n        <button type=\"button\" class=\"oddc-word-tile\" onclick=\"window.oddcBaPickTile(3)\"><span class=\"oddc-tile-py\">n\u01d0<\/span><span class=\"oddc-tile-hz\">\u4f60<\/span><\/button>\n        <button type=\"button\" class=\"oddc-word-tile\" onclick=\"window.oddcBaPickTile(4)\"><span class=\"oddc-tile-py\">ku\u00e0i<\/span><span class=\"oddc-tile-hz\">\u5feb<\/span><\/button>\n      <\/div>\n      <div class=\"oddc-feedback-box\" id=\"oddc-feedback-box\"><\/div>\n      <div class=\"oddc-action-bar\">\n        <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaShowHint()\">\ud83d\udca1 Hint<\/button>\n        <div class=\"oddc-controls-row\">\n          <button type=\"button\" class=\"oddc-btn oddc-btn-coral\" onclick=\"window.oddcBaCheckAnswer()\">\u2714 Check Answer<\/button>\n          <button type=\"button\" class=\"oddc-btn oddc-btn-primary\" onclick=\"window.oddcBaNextTask()\">Next Task \u2192<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n    <!-- Footer -->\n    <div class=\"oddc-footer\">\n      <span>\u00a9 OneDotDot Chinese \u00b7 Designed by Tiffany Huang<\/span>\n      <a href=\"https:\/\/tiffanysmandarin.com\" target=\"_blank\" rel=\"noopener\">tiffanysmandarin.com<\/a>\n    <\/div>\n  <\/div>\n  <!-- Grammar Guide Modal -->\n  <div class=\"oddc-modal-overlay\" id=\"oddc-guide-modal\" onclick=\"if(event.target===this)window.oddcBaCloseModal('oddc-guide-modal')\">\n    <div class=\"oddc-modal-card\">\n      <div class=\"oddc-modal-header\">\n        <h3 class=\"oddc-modal-title\">\ud83d\udcd6 The &#8220;\u628a&#8221; (B\u01ce) Sentence Emergency Guide<\/h3>\n        <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaCloseModal('oddc-guide-modal')\">\u2715 Close<\/button>\n      <\/div>\n      <p style=\"font-size:14px!important;margin:0 0 10px 0!important;\">Use <strong>\u628a (b\u01ce)<\/strong> when an action changes, moves, or disposes of a specific object:<\/p>\n      <div style=\"background:#F4F8FA!important;border:1.5px solid #96B3C2!important;padding:12px!important;border-radius:10px!important;margin-bottom:12px!important;font-weight:700!important;font-size:14px!important;\">\n        [Subject] + [Adverb \/ Negation \/ Modal] + \u628a + [Object] + [Verb] + [Result \/ Place]\n      <\/div>\n      <ul style=\"font-size:13.5px!important;line-height:1.65!important;padding-left:20px!important;margin:0!important;\">\n        <li><strong>Rule 1 (Position of Negation &#038; Modals):<\/strong> Words like <strong>\u6c92<\/strong> (haven&#8217;t), <strong>\u5225<\/strong> (don&#8217;t), <strong>\u5f97<\/strong> (must), <strong>\u5148<\/strong> (first), and <strong>\u5feb<\/strong> (quickly) MUST go <em>before<\/em> <strong>\u628a<\/strong>.<\/li>\n        <li><strong>Rule 2 (Verb Complement Required):<\/strong> You cannot end a \u628a sentence with a bare verb! Always include a result or direction (e.g., \u95dc<strong>\u8d77\u4f86<\/strong>, \u6d17<strong>\u4e7e\u6de8<\/strong>, \u5012<strong>\u9032\u676f\u5b50\u88e1<\/strong>).<\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n  <!-- Review Sheet Modal -->\n  <div class=\"oddc-modal-overlay\" id=\"oddc-review-modal\" onclick=\"if(event.target===this)window.oddcBaCloseModal('oddc-review-modal')\">\n    <div class=\"oddc-modal-card\">\n      <div class=\"oddc-modal-header\">\n        <h3 class=\"oddc-modal-title\">\ud83d\udccb All 15 Crisis &#8220;\u628a&#8221; Sentences<\/h3>\n        <div class=\"oddc-controls-row\">\n          <button type=\"button\" class=\"oddc-btn oddc-btn-primary\" id=\"oddc-copy-btn\" onclick=\"window.oddcBaCopyAll()\">\ud83d\udccb Copy Study Notes<\/button>\n          <button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaCloseModal('oddc-review-modal')\">\u2715 Close<\/button>\n        <\/div>\n      <\/div>\n      <div id=\"oddc-review-list\"><\/div>\n    <\/div>\n  <\/div>\n  <script>\n    (function() {\n      var SCENARIOS = [\n        {\n          id: 0,\n          icon: \"\u26c8\ufe0f\",\n          img: \"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg\",\n          title: { en: \"Thunderstorm & The Black Dog\", ja: \"\u96f7\u96e8\u3068\u9ed2\u3044\u72ac\", ko: \"\ucc9c\ub465\ubc88\uac1c\uc640 \uac80\uc740 \uac1c\" },\n          desc: {\n            en: \"Thunder is roaring outside! Your cute black dog has flattened its 'airplane ears' and is shivering in fear. Act fast!\",\n            ja: \"\u5916\u3067\u96f7\u304c\u30b4\u30ed\u30b4\u30ed\u9cf4\u3063\u3066\u3044\u307e\u3059\uff01\u611b\u72ac\u306e\u9ed2\u3044\u72ac\u304c\u300c\u98db\u884c\u6a5f\u8033\u300d\u306b\u306a\u3063\u3066\u9707\u3048\u3066\u3044\u307e\u3059\u3002\u6025\u3044\u3067\u5bfe\u5fdc\u3057\u307e\u3057\u3087\u3046\uff01\",\n            ko: \"\ubc16\uc5d0\uc11c \ucc9c\ub465\uc774 \uce58\uace0 \uc788\uc5b4\uc694! \uadc0\uc5ec\uc6b4 \uac80\uc740 \uac1c\uac00 '\ube44\ud589\uae30 \uadc0'\ub97c \ud558\uace0 \ub35c\ub35c \ub5a8\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ube68\ub9ac \ub300\ucc98\ud558\uc138\uc694!\"\n          },\n          tasks: [\n            {\n              meaning: { en: \"You quickly close the window!\", ja: \"\u65e9\u304f\u7a93\u3092\u9589\u3081\u3066\uff01\", ko: \"\ub108\ub294 \ube68\ub9ac \ucc3d\ubb38\uc744 \ub2eb\uc544!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5feb\", sc: \"\u5feb\", py: \"ku\u00e0i\", role: \"adv\", en: \"quickly\", ja: \"\u65e9\u304f\", ko: \"\ube68\ub9ac\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u7a97\u6236\", sc: \"\u7a97\u6237\", py: \"chu\u0101ngh\u00f9\", role: \"obj\", en: \"window\", ja: \"\u7a93\", ko: \"\ucc3d\ubb38\" },\n                { tc: \"\u95dc\u8d77\u4f86\", sc: \"\u5173\u8d77\u6765\", py: \"gu\u0101n q\u01d0l\u00e1i\", role: \"verb\", en: \"close up\", ja: \"\u9589\u3081\u308b\", ko: \"\ub2eb\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"I will first bring the clothes on the balcony inside\", ja: \"\u79c1\u306f\u307e\u305a\u30d9\u30e9\u30f3\u30c0\u306e\u670d\u3092\u4e2d\u306b\u5165\u308c\u307e\u3059\", ko: \"\ub0b4\uac00 \uba3c\uc800 \ubca0\ub780\ub2e4\uc758 \uc637\uc744 \uc548\uc73c\ub85c \uac77\uc5b4 \uc62c\uac8c\" },\n              tiles: [\n                { tc: \"\u6211\", sc: \"\u6211\", py: \"w\u01d2\", role: \"subj\", en: \"I\", ja: \"\u79c1\", ko: \"\ub098\" },\n                { tc: \"\u5148\", sc: \"\u5148\", py: \"xi\u0101n\", role: \"adv\", en: \"first\", ja: \"\u307e\u305a\", ko: \"\uba3c\uc800\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u967d\u53f0\u7684\u8863\u670d\", sc: \"\u9633\u53f0\u7684\u8863\u670d\", py: \"y\u00e1ngt\u00e1i de y\u012bf\u00fa\", role: \"obj\", en: \"balcony clothes\", ja: \"\u30d9\u30e9\u30f3\u30c0\u306e\u670d\", ko: \"\ubca0\ub780\ub2e4 \uc637\" },\n                { tc: \"\u6536\u9032\u4f86\", sc: \"\u6536\u8fdb\u6765\", py: \"sh\u014du j\u00ecnl\u00e1i\", role: \"verb\", en: \"bring in\", ja: \"\u53d6\u308a\u8fbc\u3080\", ko: \"\uac77\uc5b4 \ub4e4\uc774\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"Hurry and hold the black dog into the bedroom!\", ja: \"\u6025\u3044\u3067\u9ed2\u3044\u72ac\u3092\u5bdd\u5ba4\u306b\u62b1\u304d\u304b\u304b\u3048\u3066\u5165\u308c\u3066\uff01\", ko: \"\uc5b4\uc11c \uac80\uc740 \uac1c\ub97c \uc548\uc544\uc11c \ubc29\uc73c\ub85c \ub370\ub824\uac00!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u8d95\u5feb\", sc: \"\u8d76\u5feb\", py: \"g\u01cenku\u00e0i\", role: \"adv\", en: \"hurry\", ja: \"\u6025\u3044\u3067\", ko: \"\uc5b4\uc11c\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u5c0f\u9ed1\u72d7\", sc: \"\u5c0f\u9ed1\u72d7\", py: \"xi\u01ceo h\u0113i g\u01d2u\", role: \"obj\", en: \"black dog\", ja: \"\u9ed2\u3044\u72ac\", ko: \"\uac80\uc740 \uac1c\" },\n                { tc: \"\u62b1\u9032\", sc: \"\u62b1\u8fdb\", py: \"b\u00e0o j\u00ecn\", role: \"verb\", en: \"hold into\", ja: \"\u62b1\u3044\u3066\u5165\u308c\u308b\", ko: \"\uc548\uc544 \ub123\ub2e4\" },\n                { tc: \"\u623f\u9593\u88e1\", sc: \"\u623f\u95f4\u91cc\", py: \"f\u00e1ngji\u0101n l\u01d0\", role: \"comp\", en: \"inside the room\", ja: \"\u90e8\u5c4b\u306e\u4e2d\", ko: \"\ubc29 \uc548\" }\n              ]\n            }\n          ]\n        },\n        {\n          id: 1,\n          icon: \"\ud83c\udfe0\",\n          img: \"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Landlord-Surprise-Inspection-scaled.jpeg\",\n          title: { en: \"Landlord's Surprise Inspection\", ja: \"\u5927\u5bb6\u3055\u3093\u306e\u629c\u304d\u6253\u3061\u30c1\u30a7\u30c3\u30af\", ko: \"\uc9d1\uc8fc\uc778\uc758 \ubd88\uc2dc \uc810\uac80\" },\n          desc: {\n            en: \"Your landlord is ringing the doorbell downstairs and will be up in 3 minutes! The living room is still a mess!\",\n            ja: \"\u5927\u5bb6\u3055\u3093\u304c\u4e0b\u3067\u30a4\u30f3\u30bf\u30fc\u30db\u30f3\u3092\u9cf4\u3089\u3057\u3066\u3044\u307e\u3059\uff01\u3042\u30683\u5206\u3067\u4e0a\u304c\u3063\u3066\u304d\u307e\u3059\u304c\u3001\u90e8\u5c4b\u306f\u6563\u3089\u304b\u3063\u305f\u307e\u307e\u3067\u3059\uff01\",\n            ko: \"\uc9d1\uc8fc\uc778\uc774 \uc544\ub798\uce35\uc5d0\uc11c \ucd08\uc778\uc885\uc744 \ub204\ub974\uace0 \uc788\uc5b4\uc694! 3\ubd84 \ub4a4\uc5d0 \uc62c\ub77c\uc624\ub294\ub370 \uac70\uc2e4\uc774 \uc5c9\ub9dd\uc9c4\ucc3d\uc785\ub2c8\ub2e4!\"\n          },\n          tasks: [\n            {\n              meaning: { en: \"You quickly throw the trash on the table away!\", ja: \"\u30c6\u30fc\u30d6\u30eb\u306e\u4e0a\u306e\u30b4\u30df\u3092\u65e9\u304f\u6368\u3066\u3066\uff01\", ko: \"\ub108\ub294 \ube68\ub9ac \ud14c\uc774\ube14 \uc704\uc758 \uc4f0\ub808\uae30\ub97c \ubc84\ub824!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5feb\", sc: \"\u5feb\", py: \"ku\u00e0i\", role: \"adv\", en: \"quickly\", ja: \"\u65e9\u304f\", ko: \"\ube68\ub9ac\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u684c\u4e0a\u7684\u5783\u573e\", sc: \"\u684c\u4e0a\u7684\u5783\u573e\", py: \"zhu\u014d sh\u00e0ng de l\u0101j\u012b\", role: \"obj\", en: \"table trash\", ja: \"\u673a\u306e\u4e0a\u306e\u30b4\u30df\", ko: \"\ud14c\uc774\ube14 \uc4f0\ub808\uae30\" },\n                { tc: \"\u4e1f\u6389\", sc: \"\u4e22\u6389\", py: \"di\u016b di\u00e0o\", role: \"verb\", en: \"throw away\", ja: \"\u6368\u3066\u308b\", ko: \"\ubc84\ub9ac\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"I haven't hidden the dog's toys inside the closet yet\", ja: \"\u79c1\u306f\u307e\u3060\u72ac\u306e\u304a\u3082\u3061\u3083\u3092\u30af\u30ed\u30fc\u30bc\u30c3\u30c8\u306b\u96a0\u3057\u3066\u3044\u307e\u305b\u3093\", ko: \"\ub098\ub294 \uc544\uc9c1 \uac15\uc544\uc9c0 \uc7a5\ub09c\uac10\uc744 \uc637\uc7a5 \uc548\uc5d0 \uc228\uae30\uc9c0 \ubabb\ud588\uc5b4\" },\n              tiles: [\n                { tc: \"\u6211\", sc: \"\u6211\", py: \"w\u01d2\", role: \"subj\", en: \"I\", ja: \"\u79c1\", ko: \"\ub098\" },\n                { tc: \"\u9084\u6c92\", sc: \"\u8fd8\u6ca1\", py: \"h\u00e1i m\u00e9i\", role: \"adv\", en: \"haven't yet\", ja: \"\u307e\u3060\u301c\u306a\u3044\", ko: \"\uc544\uc9c1 ~\uc548 \ud588\ub2e4\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u5c0f\u72d7\u7684\u73a9\u5177\", sc: \"\u5c0f\u72d7\u7684\u73a9\u5177\", py: \"xi\u01ceog\u01d2u de w\u00e1nj\u00f9\", role: \"obj\", en: \"dog's toys\", ja: \"\u72ac\u306e\u304a\u3082\u3061\u3083\", ko: \"\uac15\uc544\uc9c0 \uc7a5\ub09c\uac10\" },\n                { tc: \"\u85cf\u9032\", sc: \"\u85cf\u8fdb\", py: \"c\u00e1ng j\u00ecn\", role: \"verb\", en: \"hide into\", ja: \"\u96a0\u3059\", ko: \"\uc228\uaca8 \ub123\ub2e4\" },\n                { tc: \"\u8863\u6ac3\u88e1\", sc: \"\u8863\u67dc\u91cc\", py: \"y\u012bgu\u00ec l\u01d0\", role: \"comp\", en: \"in the closet\", ja: \"\u30af\u30ed\u30fc\u30bc\u30c3\u30c8\", ko: \"\uc637\uc7a5 \uc548\" }\n              ]\n            },\n            {\n              meaning: { en: \"Don't forget to wipe the coffee table clean!\", ja: \"\u30c6\u30fc\u30d6\u30eb\u3092\u304d\u308c\u3044\u306b\u62ed\u304f\u306e\u3092\u5fd8\u308c\u306a\u3044\u3067\uff01\", ko: \"\ub108\ub294 \uc78a\uc9c0 \ub9d0\uace0 \ud0c1\uc790\ub97c \uae68\ub057\uc774 \ub2e6\uc544!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5225\u5fd8\u4e86\", sc: \"\u522b\u5fd8\u4e86\", py: \"bi\u00e9 w\u00e0ng le\", role: \"adv\", en: \"don't forget\", ja: \"\u5fd8\u308c\u306a\u3044\u3067\", ko: \"\uc78a\uc9c0 \ub9c8\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u8336\u51e0\", sc: \"\u8336\u51e0\", py: \"ch\u00e1j\u012b\", role: \"obj\", en: \"coffee table\", ja: \"\u30ed\u30fc\u30c6\u30fc\u30d6\u30eb\", ko: \"\ud0c1\uc790\" },\n                { tc: \"\u64e6\u4e7e\u6de8\", sc: \"\u64e6\u5e72\u51c0\", py: \"c\u0101 g\u0101nj\u00ecng\", role: \"verb\", en: \"wipe clean\", ja: \"\u304d\u308c\u3044\u306b\u62ed\u304f\", ko: \"\uae68\ub057\uc774 \ub2e6\ub2e4\" }\n              ]\n            }\n          ]\n        },\n        {\n          id: 2,\n          icon: \"\ud83c\udf73\",\n          img: \"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Taiwanese-Stir-Fry-Kitchen-Rush-scaled.jpeg\",\n          title: { en: \"Taiwanese Stir-Fry Kitchen Rush\", ja: \"\u53f0\u6e7e\u71b1\u7092\uff08\u5c45\u9152\u5c4b\uff09\u30ad\u30c3\u30c1\u30f3\u306e\u5927\u5fd9\u3057\", ko: \"\ub300\ub9cc \uc5f4\ucd08(\ub7ec\ucc28\uc624) \uc8fc\ubc29\uc758 \uc8fc\ubb38 \ud3ed\uc8fc\" },\n          desc: {\n            en: \"The night market stir-fry restaurant is packed! Hungry customers are waiting for their crispy chicken and water snowflake!\",\n            ja: \"\u53f0\u6e7e\u306e\u71b1\u7092\uff08\u5c45\u9152\u5c4b\uff09\u304c\u6e80\u5e2d\u3067\u3059\uff01\u304a\u5ba2\u3055\u3093\u304c\u53f0\u6e7e\u98a8\u5510\u63da\u3052\u3068\u6c34\u84ee\u83dc\u306e\u7092\u3081\u7269\u3092\u5f85\u3063\u3066\u3044\u307e\u3059\uff01\",\n            ko: \"\uc57c\uc2dc\uc7a5 \ub7ec\ucc28\uc624 \uc2dd\ub2f9\uc774 \ub9cc\uc11d\uc785\ub2c8\ub2e4! \uc190\ub2d8\ub4e4\uc774 \ub300\ub9cc\uc2dd \uce58\ud0a8(\uc174\uc218\uc9c0)\uacfc \uc218\ub828\ub098\ubb3c \ubcf6\uc74c\uc744 \uae30\ub2e4\ub9ac\uace0 \uc788\uc5b4\uc694!\"\n          },\n          tasks: [\n            {\n              meaning: { en: \"The chef first washed the white water snowflake clean\", ja: \"\u30b7\u30a7\u30d5\u306f\u307e\u305a\u6c34\u84ee\u83dc\u3092\u304d\u308c\u3044\u306b\u6d17\u3063\u305f\", ko: \"\uc8fc\ubc29\uc7a5\uc774 \uba3c\uc800 \uc218\ub828\ub098\ubb3c\uc744 \uae68\ub057\uc774 \uc53b\uc5c8\uc5b4\" },\n              tiles: [\n                { tc: \"\u5927\u5eda\", sc: \"\u5927\u53a8\", py: \"d\u00e0ch\u00fa\", role: \"subj\", en: \"chef\", ja: \"\u30b7\u30a7\u30d5\", ko: \"\uc8fc\ubc29\uc7a5\" },\n                { tc: \"\u5148\", sc: \"\u5148\", py: \"xi\u0101n\", role: \"adv\", en: \"first\", ja: \"\u307e\u305a\", ko: \"\uba3c\uc800\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u6c34\u84ee\", sc: \"\u6c34\u83b2\", py: \"shu\u01d0li\u00e1n\", role: \"obj\", en: \"water snowflake\", ja: \"\u6c34\u84ee\u83dc\", ko: \"\uc218\ub828\ub098\ubb3c\" },\n                { tc: \"\u6d17\u4e7e\u6de8\", sc: \"\u6d17\u5e72\u51c0\", py: \"x\u01d0 g\u0101nj\u00ecng\", role: \"verb\", en: \"wash clean\", ja: \"\u304d\u308c\u3044\u306b\u6d17\u3046\", ko: \"\uae68\ub057\uc774 \uc53b\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"You quickly toss the fresh basil into the wok!\", ja: \"\u65e9\u304f\u65b0\u9bae\u306a\u30d0\u30b8\u30eb\u3092\u934b\u306b\u6295\u3052\u5165\u308c\u3066\uff01\", ko: \"\ub108\ub294 \ube68\ub9ac \uc2e0\uc120\ud55c \ubc14\uc9c8(\uad6c\uce35\ud0d1)\uc744 \uc6cd\uc5d0 \ub123\uc5b4!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5feb\", sc: \"\u5feb\", py: \"ku\u00e0i\", role: \"adv\", en: \"quickly\", ja: \"\u65e9\u304f\", ko: \"\ube68\ub9ac\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u65b0\u9bae\u7684\u4e5d\u5c64\u5854\", sc: \"\u65b0\u9c9c\u7684\u4e5d\u5c42\u5854\", py: \"x\u012bnxi\u0101n de ji\u01d4c\u00e9ngt\u01ce\", role: \"obj\", en: \"fresh basil\", ja: \"\u65b0\u9bae\u306a\u30d0\u30b8\u30eb\", ko: \"\uc2e0\uc120\ud55c \ubc14\uc9c8\" },\n                { tc: \"\u4e1f\u9032\", sc: \"\u4e22\u8fdb\", py: \"di\u016b j\u00ecn\", role: \"verb\", en: \"toss into\", ja: \"\u6295\u3052\u5165\u308c\u308b\", ko: \"\ub358\uc838 \ub123\ub2e4\" },\n                { tc: \"\u934b\u5b50\u88e1\", sc: \"\u9505\u5b50\u91cc\", py: \"gu\u014dzi l\u01d0\", role: \"comp\", en: \"into the pot\", ja: \"\u934b\u306e\u4e2d\", ko: \"\ub0c4\ube44 \uc548\" }\n              ]\n            },\n            {\n              meaning: { en: \"The waiter already served the Taiwanese fried chicken to the guests\", ja: \"\u5e97\u54e1\u306f\u3059\u3067\u306b\u53f0\u6e7e\u98a8\u5510\u63da\u3052\u3092\u304a\u5ba2\u3055\u3093\u306b\u51fa\u3057\u305f\", ko: \"\uc9c1\uc6d0\uc774 \uc774\ubbf8 \ub300\ub9cc\uc2dd \uce58\ud0a8\uc744 \uc190\ub2d8\uc5d0\uac8c \uac00\uc838\ub2e4\uc8fc\uc5c8\uc5b4\" },\n              tiles: [\n                { tc: \"\u670d\u52d9\u751f\", sc: \"\u670d\u52a1\u751f\", py: \"f\u00faw\u00f9sh\u0113ng\", role: \"subj\", en: \"waiter\", ja: \"\u5e97\u54e1\", ko: \"\uc9c1\uc6d0\" },\n                { tc: \"\u5df2\u7d93\", sc: \"\u5df2\u7ecf\", py: \"y\u01d0j\u012bng\", role: \"adv\", en: \"already\", ja: \"\u3059\u3067\u306b\", ko: \"\uc774\ubbf8\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u9e79\u9165\u96de\", sc: \"\u54b8\u9165\u9e21\", py: \"xi\u00e1ns\u016bj\u012b\", role: \"obj\", en: \"fried chicken\", ja: \"\u53f0\u6e7e\u98a8\u5510\u63da\u3052\", ko: \"\ub300\ub9cc\uc2dd \uce58\ud0a8\" },\n                { tc: \"\u7aef\u7d66\", sc: \"\u7aef\u7ed9\", py: \"du\u0101n g\u011bi\", role: \"verb\", en: \"serve to\", ja: \"\u904b\u3093\u3067\u6e21\u3059\", ko: \"\ub0a0\ub77c \uc8fc\ub2e4\" },\n                { tc: \"\u5ba2\u4eba\u4e86\", sc: \"\u5ba2\u4eba\u4e86\", py: \"k\u00e8r\u00e9n le\", role: \"comp\", en: \"the guests\", ja: \"\u304a\u5ba2\u3055\u3093\", ko: \"\uc190\ub2d8\" }\n              ]\n            }\n          ]\n        },\n        {\n          id: 3,\n          icon: \"\ud83d\udcbb\",\n          img: \"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Online-Video-Meeting-in-1-Minute-scaled.jpeg\",\n          title: { en: \"Online Video Meeting in 1 Minute\", ja: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u4f1a\u8b70\u307e\u3067\u3042\u30681\u5206\", ko: \"\ud654\uc0c1 \ud68c\uc758 \uc2dc\uc791 1\ubd84 \uc804\" },\n          desc: {\n            en: \"Your important client meeting starts in 60 seconds! Get your laptop, microphone, and presentation slides ready!\",\n            ja: \"\u5927\u4e8b\u306a\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u306e\u30aa\u30f3\u30e9\u30a4\u30f3\u4f1a\u8b70\u307e\u3067\u3042\u306860\u79d2\uff01\u30de\u30a4\u30af\u3068\u30ab\u30e1\u30e9\u3001\u8cc7\u6599\u3092\u6e96\u5099\u3057\u307e\u3057\u3087\u3046\uff01\",\n            ko: \"\uc911\uc694\ud55c \ud074\ub77c\uc774\uc5b8\ud2b8 \ud654\uc0c1 \ud68c\uc758\uac00 60\ucd08 \ub4a4\uc5d0 \uc2dc\uc791\ub429\ub2c8\ub2e4! \ub9c8\uc774\ud06c\uc640 \uce74\uba54\ub77c, \ubc1c\ud45c \uc790\ub8cc\ub97c \uc900\ube44\ud558\uc138\uc694!\"\n          },\n          tasks: [\n            {\n              meaning: { en: \"Don't turn on the microphone first!\", ja: \"\u307e\u3060\u30de\u30a4\u30af\u3092\u30aa\u30f3\u306b\u3057\u306a\u3044\u3067\uff01\", ko: \"\ub108\ub294 \uba3c\uc800 \ub9c8\uc774\ud06c\ub97c \ucf1c\uc9c0 \ub9c8!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5148\", sc: \"\u5148\", py: \"xi\u0101n\", role: \"adv\", en: \"first\", ja: \"\u307e\u305a\", ko: \"\uba3c\uc800\" },\n                { tc: \"\u5225\", sc: \"\u522b\", py: \"bi\u00e9\", role: \"adv\", en: \"don't\", ja: \"\u301c\u3057\u306a\u3044\u3067\", ko: \"~\ud558\uc9c0 \ub9c8\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u9ea5\u514b\u98a8\", sc: \"\u9ea6\u514b\u98ce\", py: \"m\u00e0ik\u00e8f\u0113ng\", role: \"obj\", en: \"microphone\", ja: \"\u30de\u30a4\u30af\", ko: \"\ub9c8\uc774\ud06c\" },\n                { tc: \"\u6253\u958b\", sc: \"\u6253\u5f00\", py: \"d\u01cek\u0101i\", role: \"verb\", en: \"turn on\", ja: \"\u958b\u304f\/\u30aa\u30f3\u306b\u3059\u308b\", ko: \"\ucf1c\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"I already sent the meeting link to the client\", ja: \"\u79c1\u306f\u3059\u3067\u306b\u4f1a\u8b70\u306e\u30ea\u30f3\u30af\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u308a\u307e\u3057\u305f\", ko: \"\ub098\ub294 \uc774\ubbf8 \ud68c\uc758 \ub9c1\ud06c\ub97c \uace0\uac1d\uc5d0\uac8c \ubcf4\ub0c8\uc5b4\" },\n              tiles: [\n                { tc: \"\u6211\", sc: \"\u6211\", py: \"w\u01d2\", role: \"subj\", en: \"I\", ja: \"\u79c1\", ko: \"\ub098\" },\n                { tc: \"\u5df2\u7d93\", sc: \"\u5df2\u7ecf\", py: \"y\u01d0j\u012bng\", role: \"adv\", en: \"already\", ja: \"\u3059\u3067\u306b\", ko: \"\uc774\ubbf8\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u6703\u8b70\u9023\u7d50\", sc: \"\u4f1a\u8bae\u94fe\u63a5\", py: \"hu\u00ecy\u00ec li\u00e0nji\u00e9\", role: \"obj\", en: \"meeting link\", ja: \"\u4f1a\u8b70\u30ea\u30f3\u30af\", ko: \"\ud68c\uc758 \ub9c1\ud06c\" },\n                { tc: \"\u50b3\u7d66\", sc: \"\u4f20\u7ed9\", py: \"chu\u00e1n g\u011bi\", role: \"verb\", en: \"send to\", ja: \"\u9001\u308b\", ko: \"\uc804\uc1a1\ud558\ub2e4\" },\n                { tc: \"\u5ba2\u6236\u4e86\", sc: \"\u5ba2\u6237\u4e86\", py: \"k\u00e8h\u00f9 le\", role: \"comp\", en: \"the client\", ja: \"\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\", ko: \"\uace0\uac1d\" }\n              ]\n            },\n            {\n              meaning: { en: \"We must finish delivering this presentation today\", ja: \"\u79c1\u305f\u3061\u306f\u4eca\u65e5\u3053\u306e\u30d7\u30ec\u30bc\u30f3\u3092\u6700\u5f8c\u307e\u3067\u5831\u544a\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\", ko: \"\uc6b0\ub9ac\ub294 \uc624\ub298 \uc774 \ud504\ub808\uc820\ud14c\uc774\uc158\uc744 \ub05d\uae4c\uc9c0 \ubc1c\ud45c\ud574\uc57c \ud574\" },\n              tiles: [\n                { tc: \"\u6211\u5011\", sc: \"\u6211\u4eec\", py: \"w\u01d2men\", role: \"subj\", en: \"we\", ja: \"\u79c1\u305f\u3061\", ko: \"\uc6b0\ub9ac\" },\n                { tc: \"\u5f97\", sc: \"\u5f97\", py: \"d\u011bi\", role: \"adv\", en: \"must\", ja: \"\u301c\u306d\u3070\u306a\u3089\u306a\u3044\", ko: \"~\ud574\uc57c \ud55c\ub2e4\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u9019\u4efd\u7c21\u5831\", sc: \"\u8fd9\u4efd\u7b80\u62a5\", py: \"zh\u00e8 f\u00e8n ji\u01cenb\u00e0o\", role: \"obj\", en: \"this presentation\", ja: \"\u3053\u306e\u30d7\u30ec\u30bc\u30f3\", ko: \"\uc774 \ubc1c\ud45c\uc790\ub8cc\" },\n                { tc: \"\u5831\u544a\u5b8c\", sc: \"\u62a5\u544a\u5b8c\", py: \"b\u00e0og\u00e0o w\u00e1n\", role: \"verb\", en: \"finish reporting\", ja: \"\u5831\u544a\u3057\u7d42\u3048\u308b\", ko: \"\ubc1c\ud45c\ub97c \ub9c8\uce58\ub2e4\" }\n              ]\n            }\n          ]\n        },\n        {\n          id: 4,\n          icon: \"\ud83e\uddcb\",\n          img: \"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Boba-Tea-Party-Emergency-scaled.jpeg\",\n          title: { en: \"Boba Tea Party Emergency\", ja: \"\u30bf\u30d4\u30aa\u30ab\u30c6\u30a3\u30fc\u30d1\u30fc\u30c6\u30a3\u30fc\u306e\u7dca\u6025\u4e8b\u614b\", ko: \"\ubc84\ube14\ud2f0 \ud30c\ud2f0 \uc751\uae09 \uc0c1\ud669\" },\n          desc: {\n            en: \"Friends are coming over for homemade Taiwanese bubble milk tea, but the toppings aren't assembled yet!\",\n            ja: \"\u53cb\u9054\u304c\u624b\u4f5c\u308a\u30bf\u30d4\u30aa\u30ab\u30df\u30eb\u30af\u30c6\u30a3\u30fc\u3092\u98f2\u307f\u306b\u6765\u307e\u3059\u304c\u3001\u307e\u3060\u30c8\u30c3\u30d4\u30f3\u30b0\u306e\u6e96\u5099\u304c\u3067\u304d\u3066\u3044\u307e\u305b\u3093\uff01\",\n            ko: \"\uce5c\uad6c\ub4e4\uc774 \uc218\uc81c \ub300\ub9cc \ubc84\ube14\ubc00\ud06c\ud2f0\ub97c \ub9c8\uc2dc\ub7ec \uc624\ub294\ub370, \uc544\uc9c1 \ud1a0\ud551 \uc900\ube44\uac00 \uc548 \ub05d\ub0ac\uc5b4\uc694!\"\n          },\n          tasks: [\n            {\n              meaning: { en: \"You first pour the chewy boba pearls into the cup\", ja: \"\u307e\u305a\u30bf\u30d4\u30aa\u30ab\u3092\u30b3\u30c3\u30d7\u306e\u4e2d\u306b\u6ce8\u3044\u3067\", ko: \"\ub108\ub294 \uba3c\uc800 \ud384(\ud0c0\ud53c\uc624\uce74)\uc744 \ucef5 \uc548\uc5d0 \ubd80\uc5b4\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u5148\", sc: \"\u5148\", py: \"xi\u0101n\", role: \"adv\", en: \"first\", ja: \"\u307e\u305a\", ko: \"\uba3c\uc800\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u73cd\u73e0\", sc: \"\u73cd\u73e0\", py: \"zh\u0113nzh\u016b\", role: \"obj\", en: \"boba pearls\", ja: \"\u30bf\u30d4\u30aa\u30ab\", ko: \"\ud0c0\ud53c\uc624\uce74 \ud384\" },\n                { tc: \"\u5012\u9032\", sc: \"\u5012\u8fdb\", py: \"d\u00e0o j\u00ecn\", role: \"verb\", en: \"pour into\", ja: \"\u6ce8\u304e\u5165\u308c\u308b\", ko: \"\ubd80\uc5b4 \ub123\ub2e4\" },\n                { tc: \"\u676f\u5b50\u88e1\", sc: \"\u676f\u5b50\u91cc\", py: \"b\u0113izi l\u01d0\", role: \"comp\", en: \"into the cup\", ja: \"\u30b3\u30c3\u30d7\u306e\u4e2d\", ko: \"\ucef5 \uc548\" }\n              ]\n            },\n            {\n              meaning: { en: \"I already filled the black tea to the brim\", ja: \"\u79c1\u306f\u3059\u3067\u306b\u7d05\u8336\u3092\u3044\u3063\u3071\u3044\u306b\u6ce8\u304e\u307e\u3057\u305f\", ko: \"\ub098\ub294 \uc774\ubbf8 \ud64d\ucc28\ub97c \uac00\ub4dd \ucc44\uc6e0\uc5b4\" },\n              tiles: [\n                { tc: \"\u6211\", sc: \"\u6211\", py: \"w\u01d2\", role: \"subj\", en: \"I\", ja: \"\u79c1\", ko: \"\ub098\" },\n                { tc: \"\u5df2\u7d93\", sc: \"\u5df2\u7ecf\", py: \"y\u01d0j\u012bng\", role: \"adv\", en: \"already\", ja: \"\u3059\u3067\u306b\", ko: \"\uc774\ubbf8\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u7d05\u8336\", sc: \"\u7ea2\u8336\", py: \"h\u00f3ngch\u00e1\", role: \"obj\", en: \"black tea\", ja: \"\u7d05\u8336\", ko: \"\ud64d\ucc28\" },\n                { tc: \"\u52a0\u6eff\u4e86\", sc: \"\u52a0\u6ee1\u4e86\", py: \"ji\u0101 m\u01cen le\", role: \"verb\", en: \"filled full\", ja: \"\u6e80\u30bf\u30f3\u306b\u3057\u305f\", ko: \"\uac00\ub4dd \ucc44\uc6e0\ub2e4\" }\n              ]\n            },\n            {\n              meaning: { en: \"Hurry and put the cup lid on tightly!\", ja: \"\u6025\u3044\u3067\u30b3\u30c3\u30d7\u306e\u84cb\u3092\u3057\u3063\u304b\u308a\u9589\u3081\u3066\uff01\", ko: \"\ub108\ub294 \uc5b4\uc11c \ucef5 \ub69c\uaed1\uc744 \uaf2d \ub2eb\uc544!\" },\n              tiles: [\n                { tc: \"\u4f60\", sc: \"\u4f60\", py: \"n\u01d0\", role: \"subj\", en: \"you\", ja: \"\u3042\u306a\u305f\", ko: \"\ub108\" },\n                { tc: \"\u8d95\u5feb\", sc: \"\u8d76\u5feb\", py: \"g\u01cenku\u00e0i\", role: \"adv\", en: \"hurry\", ja: \"\u6025\u3044\u3067\", ko: \"\uc5b4\uc11c\" },\n                { tc: \"\u628a\", sc: \"\u628a\", py: \"b\u01ce\", role: \"ba\", en: \"[b\u01ce]\", ja: \"[\u628a]\", ko: \"[\u628a]\" },\n                { tc: \"\u676f\u84cb\", sc: \"\u676f\u76d6\", py: \"b\u0113ig\u00e0i\", role: \"obj\", en: \"cup lid\", ja: \"\u30b3\u30c3\u30d7\u306e\u84cb\", ko: \"\ucef5 \ub69c\uaed1\" },\n                { tc: \"\u84cb\u597d\", sc: \"\u76d6\u597d\", py: \"g\u00e0i h\u01ceo\", role: \"verb\", en: \"cover tightly\", ja: \"\u3057\u3063\u304b\u308a\u9589\u3081\u308b\", ko: \"\uc798 \ub36e\ub2e4\" }\n              ]\n            }\n          ]\n        }\n      ];\n      var state = {\n        sIdx: 0,\n        tIdx: 0,\n        script: \"tc\",\n        lang: \"en\",\n        showPinyin: true,\n        showGloss: false,\n        bank: [],\n        answer: [],\n        solvedMap: {},\n        timeLeft: 45,\n        timerActive: true,\n        timerId: null\n      };\n      function getTask() {\n        return SCENARIOS[state.sIdx].tasks[state.tIdx];\n      }\n      function shuffle(arr) {\n        var copy = arr.slice();\n        for (var i = copy.length - 1; i > 0; i--) {\n          var j = Math.floor(Math.random() * (i + 1));\n          var temp = copy[i];\n          copy[i] = copy[j];\n          copy[j] = temp;\n        }\n        if (copy.length > 1 && copy.every(function(item, idx) { return item.origIdx === idx; })) {\n          var t = copy[0];\n          copy[0] = copy[1];\n          copy[1] = t;\n        }\n        return copy;\n      }\n      function startTimer() {\n        if (state.timerId) clearInterval(state.timerId);\n        state.timeLeft = 45;\n        updateTimerUI();\n        state.timerId = setInterval(function() {\n          if (!state.timerActive) return;\n          if (state.timeLeft > 0) {\n            state.timeLeft--;\n            updateTimerUI();\n          }\n        }, 1000);\n      }\n      function updateTimerUI() {\n        var el = document.getElementById(\"oddc-timer-pill\");\n        if (!el) return;\n        if (!state.timerActive) {\n          el.textContent = \"\u23f8\ufe0f Paused\";\n        } else {\n          el.textContent = \"\u23f1\ufe0f \" + state.timeLeft + \"s\";\n        }\n      }\n      function loadTask() {\n        var task = getTask();\n        var indexed = task.tiles.map(function(tile, i) {\n          return {\n            origIdx: i,\n            tc: tile.tc,\n            sc: tile.sc,\n            py: tile.py,\n            role: tile.role,\n            en: tile.en,\n            ja: tile.ja,\n            ko: tile.ko\n          };\n        });\n        state.answer = [];\n        state.bank = shuffle(indexed);\n        hideFeedback();\n        startTimer();\n        renderAll();\n      }\n      function hideFeedback() {\n        var fb = document.getElementById(\"oddc-feedback-box\");\n        if (fb) {\n          fb.className = \"oddc-feedback-box\";\n          fb.innerHTML = \"\";\n        }\n      }\n      function showFeedback(msg, isOk) {\n        var fb = document.getElementById(\"oddc-feedback-box\");\n        if (!fb) return;\n        fb.className = \"oddc-feedback-box oddc-fb-show \" + (isOk ? \"oddc-fb-ok\" : \"oddc-fb-err\");\n        fb.innerHTML = msg;\n      }\n      function renderTileHTML(tile, fromZone, idx) {\n        var hz = state.script === \"tc\" ? tile.tc : tile.sc;\n        var isBa = tile.tc === \"\u628a\";\n        var pyHtml = state.showPinyin ? '<span class=\"oddc-tile-py\">' + tile.py + '<\/span>' : '';\n        var glText = tile[state.lang] || tile.en;\n        var glHtml = state.showGloss ? '<span class=\"oddc-tile-gl\">' + glText + '<\/span>' : '';\n        var fn = fromZone === \"bank\" ? \"window.oddcBaPickTile(\" + idx + \")\" : \"window.oddcBaRemoveTile(\" + idx + \")\";\n        return '<button type=\"button\" class=\"oddc-word-tile ' + (isBa ? 'oddc-tile-ba' : '') + '\" onclick=\"' + fn + '\">' + pyHtml + '<span class=\"oddc-tile-hz\">' + hz + '<\/span>' + glHtml + '<\/button>';\n      }\n      function renderAll() {\n        var sc = SCENARIOS[state.sIdx];\n        var task = getTask();\n        var tabsEl = document.getElementById(\"oddc-scenario-tabs\");\n        if (tabsEl) {\n          var tabsHtml = \"\";\n          for (var i = 0; i < SCENARIOS.length; i++) {\n            var activeCls = i === state.sIdx ? \"oddc-tab-active\" : \"\";\n            tabsHtml += '<button type=\"button\" class=\"oddc-tab-btn ' + activeCls + '\" onclick=\"window.oddcBaSelectScenario(' + i + ')\">' + SCENARIOS[i].icon + ' Crisis ' + (i + 1) + '<\/button>';\n          }\n          tabsEl.innerHTML = tabsHtml;\n        }\n        var imgEl = document.getElementById(\"oddc-scenario-img\");\n        if (imgEl && imgEl.src !== sc.img) {\n          imgEl.src = sc.img;\n        }\n        var tagEl = document.getElementById(\"oddc-crisis-tag\");\n        if (tagEl) tagEl.textContent = \"CRISIS \" + (state.sIdx + 1) + \" OF 5\";\n        var solvedCount = Object.keys(state.solvedMap).length;\n        var scoreEl = document.getElementById(\"oddc-score-display\");\n        if (scoreEl) scoreEl.textContent = \"\u2b50 Solved: \" + solvedCount + \" \/ 15\";\n        var titleEl = document.getElementById(\"oddc-scenario-title\");\n        if (titleEl) titleEl.textContent = sc.title[state.lang] || sc.title.en;\n        var descEl = document.getElementById(\"oddc-scenario-desc\");\n        if (descEl) descEl.textContent = sc.desc[state.lang] || sc.desc.en;\n        var dotsEl = document.getElementById(\"oddc-step-dots\");\n        if (dotsEl) {\n          var dotsHtml = \"\";\n          for (var t = 0; t < sc.tasks.length; t++) {\n            var key = state.sIdx + \"-\" + t;\n            var cls = t === state.tIdx ? \"oddc-step-active\" : (state.solvedMap[key] ? \"oddc-step-done\" : \"\");\n            dotsHtml += '<button type=\"button\" class=\"oddc-step-btn ' + cls + '\" onclick=\"window.oddcBaSelectTask(' + t + ')\">Task ' + (t + 1) + (state.solvedMap[key] ? ' \u2713' : '') + '<\/button>';\n          }\n          dotsEl.innerHTML = dotsHtml;\n        }\n        var targetEl = document.getElementById(\"oddc-target-meaning\");\n        if (targetEl) targetEl.textContent = '\"' + (task.meaning[state.lang] || task.meaning.en) + '\"';\n        var ansEl = document.getElementById(\"oddc-answer-zone\");\n        if (ansEl) {\n          if (state.answer.length === 0) {\n            ansEl.innerHTML = '<span class=\"oddc-placeholder-msg\">Tap word tiles below to assemble your \"\u628a\" sentence here...<\/span>';\n          } else {\n            ansEl.innerHTML = state.answer.map(function(tile, idx) {\n              return renderTileHTML(tile, \"answer\", idx);\n            }).join(\"\");\n          }\n        }\n        var bankEl = document.getElementById(\"oddc-bank-zone\");\n        if (bankEl) {\n          if (state.bank.length === 0) {\n            bankEl.innerHTML = '<span class=\"oddc-placeholder-msg\">All tiles placed! Click \"Check Answer\" below.<\/span>';\n          } else {\n            bankEl.innerHTML = state.bank.map(function(tile, idx) {\n              return renderTileHTML(tile, \"bank\", idx);\n            }).join(\"\");\n          }\n        }\n        var scBtn = document.getElementById(\"oddc-script-btn\");\n        if (scBtn) scBtn.textContent = \"\u7e41\u9ad4 \/ \u7b80\u4f53: \" + (state.script === \"tc\" ? \"\u7e41\u9ad4\" : \"\u7b80\u4f53\");\n        var pyBtn = document.getElementById(\"oddc-py-btn\");\n        if (pyBtn) pyBtn.textContent = \"Pinyin: \" + (state.showPinyin ? \"ON\" : \"OFF\");\n        var glBtn = document.getElementById(\"oddc-gloss-btn\");\n        if (glBtn) glBtn.textContent = \"\ud83d\udd24 Tile Meaning: \" + (state.showGloss ? \"ON\" : \"OFF\");\n      }\n      window.oddcBaPickTile = function(idx) {\n        if (idx < 0 || idx >= state.bank.length) return;\n        var tile = state.bank.splice(idx, 1)[0];\n        state.answer.push(tile);\n        hideFeedback();\n        renderAll();\n      };\n      window.oddcBaRemoveTile = function(idx) {\n        if (idx < 0 || idx >= state.answer.length) return;\n        var tile = state.answer.splice(idx, 1)[0];\n        state.bank.push(tile);\n        hideFeedback();\n        renderAll();\n      };\n      window.oddcBaSelectScenario = function(sIdx) {\n        state.sIdx = sIdx;\n        state.tIdx = 0;\n        loadTask();\n      };\n      window.oddcBaSelectTask = function(tIdx) {\n        state.tIdx = tIdx;\n        loadTask();\n      };\n      window.oddcBaResetTask = function() {\n        loadTask();\n      };\n      window.oddcBaToggleScript = function() {\n        state.script = state.script === \"tc\" ? \"sc\" : \"tc\";\n        renderAll();\n      };\n      window.oddcBaChangeLang = function(lang) {\n        state.lang = lang;\n        renderAll();\n      };\n      window.oddcBaTogglePinyin = function() {\n        state.showPinyin = !state.showPinyin;\n        renderAll();\n      };\n      window.oddcBaToggleGloss = function() {\n        state.showGloss = !state.showGloss;\n        renderAll();\n      };\n      window.oddcBaToggleTimer = function() {\n        state.timerActive = !state.timerActive;\n        updateTimerUI();\n      };\n      window.oddcBaShowHint = function() {\n        showFeedback(\"\ud83d\udca1 <strong>Structure Reminder:<\/strong> [Subject] + [Adverb \/ Negation \/ Modal] + <strong>\u628a<\/strong> + [Object] + [Verb + Result \/ Location].\", false);\n      };\n      window.oddcBaCheckAnswer = function() {\n        var task = getTask();\n        if (state.answer.length < task.tiles.length) {\n          showFeedback(\"\u26a0\ufe0f Please place all word tiles into the sentence box before checking!\", false);\n          return;\n        }\n        var userStr = state.answer.map(function(t) { return t.tc; }).join(\"\");\n        var targetStr = task.tiles.map(function(t) { return t.tc; }).join(\"\");\n        var altValid = (state.sIdx === 3 &#038;&#038; state.tIdx === 0 &#038;&#038; userStr === \"\u4f60\u5225\u5148\u628a\u9ea5\u514b\u98a8\u6253\u958b\");\n        if (userStr === targetStr || altValid) {\n          state.solvedMap[state.sIdx + \"-\" + state.tIdx] = true;\n          renderAll();\n          showFeedback(\"\ud83c\udf89 <strong>Excellent!<\/strong> Correct '\u628a' sentence structure!\", true);\n          window.oddcBaSpeakCurrent();\n        } else {\n          var baPos = -1;\n          var advAfterBa = false;\n          var subjAfterBa = false;\n          var verbBeforeBa = false;\n          for (var i = 0; i < state.answer.length; i++) {\n            if (state.answer[i].role === \"ba\") baPos = i;\n          }\n          for (var j = 0; j < state.answer.length; j++) {\n            var r = state.answer[j].role;\n            if (baPos !== -1 &#038;&#038; j > baPos && r === \"adv\") advAfterBa = true;\n            if (baPos !== -1 && j > baPos && r === \"subj\") subjAfterBa = true;\n            if (baPos !== -1 && j < baPos &#038;&#038; r === \"verb\") verbBeforeBa = true;\n          }\n          if (subjAfterBa) {\n            showFeedback(\"\ud83d\udca1 <strong>Grammar Tip:<\/strong> The Subject (who is doing the action) must go at the very beginning, BEFORE '\u628a'!\", false);\n          } else if (advAfterBa) {\n            showFeedback(\"\ud83d\udca1 <strong>Grammar Tip:<\/strong> Adverbs, negation words (\u6c92 \/ \u5225), and modal verbs (\u5f97) must go BEFORE '\u628a'!\", false);\n          } else if (verbBeforeBa) {\n            showFeedback(\"\ud83d\udca1 <strong>Grammar Tip:<\/strong> In a '\u628a' sentence, put <strong>\u628a + Object<\/strong> BEFORE the main verb!\", false);\n          } else {\n            showFeedback(\"\ud83e\udd14 Almost! Check the order of [Subject] + [Adverb] + \u628a + [Object] + [Verb + Result].\", false);\n          }\n        }\n      };\n      window.oddcBaNextTask = function() {\n        var sc = SCENARIOS[state.sIdx];\n        if (state.tIdx + 1 < sc.tasks.length) {\n          state.tIdx++;\n        } else {\n          state.sIdx = (state.sIdx + 1) % SCENARIOS.length;\n          state.tIdx = 0;\n        }\n        loadTask();\n      };\n      window.oddcBaSpeakText = function(text) {\n        if (!(\"speechSynthesis\" in window)) return;\n        window.speechSynthesis.cancel();\n        var u = new SpeechSynthesisUtterance(text);\n        u.lang = state.script === \"tc\" ? \"zh-TW\" : \"zh-CN\";\n        u.rate = 0.92;\n        window.speechSynthesis.speak(u);\n      };\n      window.oddcBaSpeakCurrent = function() {\n        var task = getTask();\n        var text = task.tiles.map(function(t) {\n          return state.script === \"tc\" ? t.tc : t.sc;\n        }).join(\"\");\n        window.oddcBaSpeakText(text);\n      };\n      window.oddcBaOpenModal = function(id) {\n        var m = document.getElementById(id);\n        if (m) m.className = \"oddc-modal-overlay oddc-modal-open\";\n      };\n      window.oddcBaCloseModal = function(id) {\n        var m = document.getElementById(id);\n        if (m) m.className = \"oddc-modal-overlay\";\n      };\n      window.oddcBaOpenReview = function() {\n        var listEl = document.getElementById(\"oddc-review-list\");\n        if (listEl) {\n          var html = \"\";\n          var count = 1;\n          for (var s = 0; s < SCENARIOS.length; s++) {\n            var sc = SCENARIOS[s];\n            for (var t = 0; t < sc.tasks.length; t++) {\n              var tk = sc.tasks[t];\n              var zh = tk.tiles.map(function(x) { return state.script === \"tc\" ? x.tc : x.sc; }).join(\"\");\n              var py = tk.tiles.map(function(x) { return x.py; }).join(\" \");\n              var tr = tk.meaning[state.lang] || tk.meaning.en;\n              html += '<div class=\"oddc-review-item\"><div><div style=\"font-weight:700!important;font-size:16px!important;color:#2C3E46!important;\">' + count + '. ' + zh + '<\/div><div style=\"font-size:12px!important;color:#6B8E9B!important;\">' + py + '<\/div><div style=\"font-size:13px!important;color:#4A4F55!important;\">' + tr + '<\/div><\/div><button type=\"button\" class=\"oddc-btn\" onclick=\"window.oddcBaSpeakText(\\'' + zh + '\\')\">\ud83d\udd0a<\/button><\/div>';\n              count++;\n            }\n          }\n          listEl.innerHTML = html;\n        }\n        window.oddcBaOpenModal(\"oddc-review-modal\");\n      };\n      window.oddcBaCopyAll = function() {\n        var lines = [\"OneDotDot Chinese (Tiffany Huang) - Crisis Management '\u628a' Sentences:\"];\n        var c = 1;\n        for (var s = 0; s < SCENARIOS.length; s++) {\n          for (var t = 0; t < SCENARIOS[s].tasks.length; t++) {\n            var tk = SCENARIOS[s].tasks[t];\n            var zh = tk.tiles.map(function(x) { return state.script === \"tc\" ? x.tc : x.sc; }).join(\"\");\n            var py = tk.tiles.map(function(x) { return x.py; }).join(\" \");\n            var tr = tk.meaning[state.lang] || tk.meaning.en;\n            lines.push(c + \". \" + zh + \" (\" + py + \") - \" + tr);\n            c++;\n          }\n        }\n        if (navigator.clipboard) {\n          navigator.clipboard.writeText(lines.join(\"\\n\"));\n          var btn = document.getElementById(\"oddc-copy-btn\");\n          if (btn) {\n            btn.textContent = \"\u2714 Copied!\";\n            setTimeout(function() { btn.textContent = \"\ud83d\udccb Copy Study Notes\"; }, 2000);\n          }\n        }\n      };\n      loadTask();\n      if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", loadTask);\n      }\n      window.addEventListener(\"load\", loadTask);\n      setTimeout(loadTask, 200);\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? :)<\/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\/grammar\/\"><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":"<p>GRAMMAR PRACTICE \u00b7 SENTENCE STRUCTURE \u628a b\u01ce Crisis Management Practice The \u628a b\u01ce construction moves the object in front of the verb: Subject + (Adverb \/ Modal) + \u628a + Object + Verb (+ Result). It\u2019s used when a sentence describes what happens to a specific, already-known thing \u2014 moving it, placing it, finishing it&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"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":[14],"tags":[],"class_list":["post-18697","post","type-post","status-publish","format-standard","hentry","category-hsk3"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u628a Practice 2 - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.\" \/>\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\/2026\/10\/28\/ba-practice-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u628a Practice 2 - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-28T08:33:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-28T09:05:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"\u628a Practice 2\",\"datePublished\":\"2026-10-28T08:33:51+00:00\",\"dateModified\":\"2026-10-28T09:05:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/\"},\"wordCount\":288,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Thunderstorm-The-Black-Dog-scaled.jpeg\",\"articleSection\":[\"HSK 3\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/\",\"name\":\"\u628a Practice 2 - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Thunderstorm-The-Black-Dog-scaled.jpeg\",\"datePublished\":\"2026-10-28T08:33:51+00:00\",\"dateModified\":\"2026-10-28T09:05:00+00:00\",\"description\":\"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Thunderstorm-The-Black-Dog-scaled.jpeg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Thunderstorm-The-Black-Dog-scaled.jpeg\",\"width\":2560,\"height\":1429},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/10\\\/28\\\/ba-practice-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u628a Practice 2\"}]},{\"@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":"\u628a Practice 2 - OneDotDot Chinese","description":"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.","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\/2026\/10\/28\/ba-practice-2\/","og_locale":"en_US","og_type":"article","og_title":"\u628a Practice 2 - OneDotDot Chinese","og_description":"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/","og_site_name":"OneDotDot Chinese","article_published_time":"2026-10-28T08:33:51+00:00","article_modified_time":"2026-10-28T09:05:00+00:00","og_image":[{"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg","type":"","width":"","height":""}],"author":"tiffany","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tiffany","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"\u628a Practice 2","datePublished":"2026-10-28T08:33:51+00:00","dateModified":"2026-10-28T09:05:00+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/"},"wordCount":288,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg","articleSection":["HSK 3"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/","name":"\u628a Practice 2 - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg","datePublished":"2026-10-28T08:33:51+00:00","dateModified":"2026-10-28T09:05:00+00:00","description":"Practice Chinese \u628a sentences with this interactive exercise based on five real-life emergency scenarios. Build sentences with word tiles, review word order, and learn how to use adverbs, negation, and modal verbs correctly in \u628a constructions.","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/10\/Thunderstorm-The-Black-Dog-scaled.jpeg","width":2560,"height":1429},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/10\/28\/ba-practice-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"\u628a Practice 2"}]},{"@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":"","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/18697","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=18697"}],"version-history":[{"count":5,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/18697\/revisions"}],"predecessor-version":[{"id":18706,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/18697\/revisions\/18706"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=18697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=18697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=18697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}