{"id":754,"date":"2023-02-02T21:39:40","date_gmt":"2023-02-02T13:39:40","guid":{"rendered":"http:\/\/tiffanysmandarin.com\/?p=754"},"modified":"2026-08-17T00:32:00","modified_gmt":"2026-08-16T16:32:00","slug":"cafe","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/","title":{"rendered":"Cafe Related Words"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Coffee_Selections\" >Coffee Selections<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Size_oz_Conversion\" >Size (oz. Conversion)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Syrups\" >Syrups<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Customization_Options\" >Customization Options<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Adjusting_an_order\" >Adjusting an order<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Sugar_Ice_Levels\" >Sugar &#038; Ice Levels<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Sugar_Level_%E7%94%9C%E5%BA%A6%E7%94%9C%E5%BA%A6\" >Sugar Level (\u751c\u5ea6\u751c\u5ea6)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Ice_Level_%E5%86%B0%E9%87%8F%E5%86%B0%E9%87%8F\" >Ice Level (\u51b0\u91cf\u51b0\u91cf)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Useful_Phrases\" >Useful Phrases<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Cafe_Culture_Rules\" >Cafe Culture &#038; Rules<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Taiwan_Cafe_rules_to_know_%E5%92%96%E5%95%A1%E5%BB%B3%E8%A6%8F%E5%AE%9A%E5%92%96%E5%95%A1%E5%8E%85%E8%A7%84%E5%AE%9A\" >Taiwan: Cafe rules to know (\u5496\u5561\u5ef3\u898f\u5b9a\u5496\u5561\u5385\u89c4\u5b9a)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#Mainland_China_Ordering_by_App_%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%B0%8F%E7%A8%8B%E5%BA%8F\" >Mainland China: Ordering by App (\u5c0f\u7a0b\u5e8f\u5c0f\u7a0b\u5e8f)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#%E2%98%95_Cafe_Ordering_Challenge\" >\u2615 Cafe Ordering Challenge<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#%F0%9F%8E%8A_Game_Over\" >\ud83c\udf8a Game Over!<\/a><\/li><\/ul><\/nav><\/div>\n\n<div style=\"height:2px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  \u5d4c\u5165\u8aaa\u660e Embed notes\n  ============================================================\n  1. \u5df2\u79fb\u9664 <!DOCTYPE>\/<html>\/<head>\/<body>\uff0c\u4ea4\u7531\u7db2\u7ad9\u9801\u9762\u6a21\u677f\u63d0\u4f9b\u3002\n  2. \u6c92\u6709 controlbar \/ \u7e41\u7c21\u5207\u63db\u6309\u9215\uff0c\u7e41\u7c21\u5207\u63db\u4ea4\u7d66\u7db2\u7ad9\u5168\u7ad9\u5171\u7528\u7684\u958b\u95dc\u3002\n  3. root \u7528 document.getElementById('cafe-vocab-embed-1') \u6293\u3002\n  4. \u7e41\u7c21\u5207\u63db\uff1a\u9019\u6bb5 script \u52d5\u614b\u6e32\u67d3\u5b8c\u5167\u5bb9\u5f8c\uff0c\u6703\u76f4\u63a5\u8b80 lang_zh-TW \/ pinyin-display \u9019\u5169\u9846 cookie\u3002\n  5. \u5587\u53ed\u6309\u9215\u7528 data-trad \/ data-simp \u5c6c\u6027 + \u4e8b\u4ef6\u59d4\u6d3e\u8655\u7406\u3002\n  ============================================================\n-->\n\n<div class=\"cafe-vocab-embed\" id=\"cafe-vocab-embed-1\">\n<style>\n  .cafe-vocab-embed{\n    --cve-bg:#ffffff;\n    --cve-ink:#201a17;\n    --cve-ink-soft:#5b524b;\n    --cve-rule:#e6ddd0;\n    --cve-oxblood:#6B4E3D; \/* \u5496\u5561\u6df1\u68d5\u8272 *\/\n    --cve-oxblood-dark:#4A352A;\n    --cve-mustard:#CBA36D; \/* \u62ff\u9435\/\u7126\u7cd6\u8272 *\/\n    --cve-sage:#4A5D4E; \/* \u661f\u5df4\u514b\u7d93\u5178\u7da0 \/ \u62b9\u8336\u7da0 *\/\n    --cve-bone:#faf6ef;\n    --cve-bone-line:#efe6d6;\n    --cve-max:1040px;\n\n    color:var(--cve-ink);\n    font-family:'Work Sans',sans-serif;\n    line-height:1.6;\n  }\n  .cafe-vocab-embed *{box-sizing:border-box;}\n  .cafe-vocab-embed .wrap{max-width:var(--cve-max); margin:0 auto; padding:0 24px;}\n  .cafe-vocab-embed a{color:var(--cve-oxblood); text-decoration: none;}\n  .cafe-vocab-embed a:hover{text-decoration: underline;}\n\n  \/* \u72ec\u7acb\u8bbe\u5b9a\u7e41\u7b80\u4f53\u5b57\u578b\uff0c\u786e\u4fdd\u5207\u6362\u65f6\u6b63\u786e\u6e32\u67d3 *\/\n  .cafe-vocab-embed .lang-zh-TW { font-family: 'Noto Serif TC', serif; }\n  .cafe-vocab-embed .lang-zh-CN { font-family: 'Noto Serif SC', serif; }\n\n  .cafe-vocab-embed ruby{ruby-position:over;}\n  .cafe-vocab-embed rt{\n    font-family:'IBM Plex Mono',monospace; color:var(--cve-oxblood); font-weight:600;\n    font-size:.58em; letter-spacing:.01em;\n  }\n  .cafe-vocab-embed rt.hidden{display:none;}\n  .cafe-vocab-embed rt.mouseover{opacity:0; transition:opacity .15s ease;}\n  .cafe-vocab-embed ruby:hover rt.mouseover{opacity:1;}\n\n  .cafe-vocab-embed button.say{\n    border:1px solid var(--cve-rule); background:#fff; border-radius:50%; width:26px; height:26px;\n    font-size:.78rem; line-height:1; cursor:pointer; color:var(--cve-oxblood); display:inline-flex;\n    align-items:center; justify-content:center; padding:0; vertical-align:middle; margin-left:6px;\n  }\n  .cafe-vocab-embed button.say:hover{border-color:var(--cve-oxblood); background:var(--cve-bone);}\n\n  .cafe-vocab-embed header.hero{padding:56px 0 8px;}\n  .cafe-vocab-embed .eyebrow{\n    font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.14em;\n    text-transform:uppercase; color:var(--cve-oxblood); margin-bottom:14px; font-weight:600;\n  }\n  .cafe-vocab-embed h1.title{\n    font-family:'Bitter',serif; font-weight:800; font-size:clamp(2.1rem,5.2vw,3.3rem);\n    margin:0 0 6px; line-height:1.05;\n  }\n  .cafe-vocab-embed h1.title .en{display:block; font-size:.4em; font-weight:500; color:var(--cve-ink-soft); margin-top:10px; letter-spacing:.01em;}\n  \n  .cafe-vocab-embed .hero-img {\n    display: block;\n    width: 85%;\n    margin: 32px auto 16px;\n    border-radius: 12px;\n  }\n\n  .cafe-vocab-embed .dek{max-width:none; color:var(--cve-ink-soft); font-size:1.02rem; margin-top:18px;}\n\n  .cafe-vocab-embed section{padding:52px 0;}\n  .cafe-vocab-embed section + section{border-top:1px solid var(--cve-rule);}\n  .cafe-vocab-embed .sec-head{margin-bottom:28px;}\n  .cafe-vocab-embed .sec-num{font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--cve-mustard); font-weight:600; letter-spacing:.08em;}\n  .cafe-vocab-embed h2.sec-title{font-family:'Bitter',serif; font-weight:700; font-size:1.7rem; margin:4px 0 12px;}\n  .cafe-vocab-embed .sec-sub{color:var(--cve-ink-soft); font-size:1rem; max-width:800px; margin-bottom:20px;}\n\n  \/* \u7db2\u683c\u5361\u7247\u6392\u7248 *\/\n  .cafe-vocab-embed .grid {\n    display:grid; \n    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); \n    gap:16px; \n    margin-top:8px;\n  }\n  .cafe-vocab-embed .card {\n    border:1px solid var(--cve-rule); \n    border-radius:12px; \n    padding:16px 20px; \n    background:#fff;\n    box-shadow: 0 2px 4px rgba(0,0,0,0.02);\n  }\n  .cafe-vocab-embed .card .hz {\n    display:block; \n    font-size:1.15rem; \n    margin-bottom:6px;\n  }\n  .cafe-vocab-embed .card .en {\n    color:var(--cve-ink-soft); \n    font-size:.9rem; \n    display:block;\n  }\n\n  \/* \u5be6\u7528\u53e5\u5361\u7247 *\/\n  .cafe-vocab-embed .phrase-card {\n    border-left:4px solid var(--cve-oxblood); background:var(--cve-bone); border-radius:0 12px 12px 0;\n    padding:16px 20px; margin-bottom:14px;\n  }\n  .cafe-vocab-embed .phrase-card .hz{font-size:1.15rem; display:block;}\n  .cafe-vocab-embed .phrase-card .en{color:var(--cve-ink-soft); margin-top:8px; font-size:.9rem; display:block;}\n  .cafe-vocab-embed .phrase-card .tip{margin-top:10px; font-size:.85rem; color:var(--cve-ink-soft); background:#fff; border:1px dashed var(--cve-rule); border-radius:8px; padding:8px 12px;}\n\n  \/* Callout \u5340\u584a *\/\n  .cafe-vocab-embed .callout {\n    background:var(--cve-bone); border:1px solid var(--cve-bone-line); border-radius:16px; padding:26px 28px;\n    display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start;\n    margin-bottom: 20px;\n  }\n  @media (max-width:600px){ .cafe-vocab-embed .callout{grid-template-columns:1fr;} }\n  .cafe-vocab-embed .callout .icon {font-size:2.2rem; line-height:1;}\n  .cafe-vocab-embed .callout h3 {margin:0 0 8px; font-family:'Bitter',serif; font-size:1.15rem;}\n  .cafe-vocab-embed .callout p {margin:0 0 10px; color:var(--cve-ink-soft); font-size:.94rem;}\n  .cafe-vocab-embed .callout ul {margin:0; padding-left:18px; font-size:.94rem; color:var(--cve-ink-soft);}\n  .cafe-vocab-embed .callout li {margin-bottom:6px;}\n\n  \/* \u5c3a\u5bf8\u5207\u63db UI (oz \u8f49\u63db) *\/\n  .cafe-vocab-embed .size-toggle {\n    display:flex; border:1px solid var(--cve-rule); border-radius: 8px; overflow:hidden; width:fit-content; margin-bottom: 16px;\n  }\n  .cafe-vocab-embed .toggle-btn {\n    background: #fff; border:none; padding:10px 20px; cursor:pointer; font-weight:600; color: var(--cve-ink-soft); font-family: 'Work Sans', sans-serif; transition: 0.2s;\n  }\n  .cafe-vocab-embed .toggle-btn.active {\n    background: var(--cve-sage); color: #fff;\n  }\n  .cafe-vocab-embed .size-group { display: flex; flex-direction: column; gap: 8px; }\n  .cafe-vocab-embed .size-row {\n    display:flex; align-items:center; justify-content:space-between; padding: 14px 20px; background: var(--cve-bone); border-radius: 8px; border: 1px solid var(--cve-bone-line);\n  }\n  .cafe-vocab-embed .size-row .label { font-size: 1.15rem; font-weight: bold; color: var(--cve-ink); }\n  .cafe-vocab-embed .size-row .desc { font-size: 0.95rem; color: var(--cve-ink-soft); font-family: 'IBM Plex Mono', monospace;}\n\n  \/* \u751c\u5ea6\u51b0\u584a \u9ede\u9ede\u8a2d\u8a08 UI *\/\n  .cafe-vocab-embed .level-track {\n    display: flex; align-items: flex-start; gap: 28px; overflow-x: auto; padding: 12px 6px 16px; margin: 16px 0; position: relative; scrollbar-width: thin;\n  }\n  .cafe-vocab-embed .level-point {\n    flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 70px; position: relative;\n  }\n  .cafe-vocab-embed .level-dots { display: flex; gap: 4px; margin-bottom: 4px; }\n  .cafe-vocab-embed .dot { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--cve-sage); background: transparent; }\n  .cafe-vocab-embed .dot.filled { background: var(--cve-sage); }\n  .cafe-vocab-embed .level-point .zh { display: flex; align-items: center; justify-content: center; gap: 4px; font-family: 'Noto Serif TC', serif; font-weight: 600; font-size: 1.1rem; color: var(--cve-ink); }\n  .cafe-vocab-embed .level-point .en { font-size: 0.85rem; color: var(--cve-ink-soft); white-space: nowrap; }\n\n  \/* \u904a\u6232\u5340\u584a\u5c08\u7528 CSS *\/\n  .cafe-vocab-embed .game-container {\n    width: 100%; max-width: 600px; margin: 30px auto 0; padding: 20px; background: var(--cve-bone); border: 1px solid var(--cve-rule); border-radius: 12px;\n  }\n  .cafe-vocab-embed .game-header { text-align: center; margin-bottom: 16px; border-bottom: 1px solid var(--cve-rule); padding-bottom: 12px; }\n  .cafe-vocab-embed .game-header h3 { color: var(--cve-oxblood); font-size: 1.3rem; margin: 0 0 6px; font-family: 'Bitter', serif; }\n  .cafe-vocab-embed .score-board { display: flex; justify-content: space-between; font-weight: 600; color: var(--cve-sage); font-size: 0.95rem; }\n  .cafe-vocab-embed .order-box { background-color: #fff; border-left: 4px solid var(--cve-oxblood); border-radius: 6px; padding: 14px 16px; margin-bottom: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }\n  .cafe-vocab-embed .order-box span.eyebrow-mini { font-size: 0.75rem; color: #8c827a; text-transform: uppercase; letter-spacing: 0.05em; display:block; margin-bottom: 6px;}\n  .cafe-vocab-embed .order-text { font-size: 1.05rem; font-weight: 600; color: var(--cve-ink); line-height: 1.4; }\n  .cafe-vocab-embed .options-grid { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }\n  .cafe-vocab-embed .btn-option {\n    background: #fff; border: 1px solid var(--cve-rule); border-radius: 8px; padding: 12px 14px; font-size: 1rem; color: var(--cve-ink); cursor: pointer; transition: all 0.2s ease; text-align: left; line-height: 1.4;\n  }\n  .cafe-vocab-embed .btn-option:hover { border-color: var(--cve-sage); background-color: #f0f4f1; }\n  .cafe-vocab-embed .btn-option.correct { background-color: #e8f5e9 !important; border-color: #2e7d32 !important; color: #2e7d32 !important; }\n  .cafe-vocab-embed .btn-option.wrong { background-color: #ffebee !important; border-color: #c62828 !important; color: #c62828 !important; }\n  .cafe-vocab-embed .feedback { text-align: center; font-size: 1rem; font-weight: bold; min-height: 24px; margin-bottom: 12px; }\n  .cafe-vocab-embed .btn-next {\n    width: 100%; background: var(--cve-oxblood); color: white; border: none; padding: 12px; font-size: 1rem; border-radius: 8px; cursor: pointer; font-weight: 600; display: none; transition: 0.2s;\n  }\n  .cafe-vocab-embed .btn-next:hover { background: var(--cve-oxblood-dark); }\n\n<\/style>\n\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <div class=\"eyebrow\">Food Vocabulary<\/div>\n    <h1 class=\"title\">\n      <span class=\"lang-zh-TW\">\u5496\u5561\u5ef3\u7528\u8a9e<\/span><span class=\"lang-zh-CN\">\u5496\u5561\u5385\u7528\u8bed<\/span>\n      <span class=\"en\">Cafe Related Words in Chinese<\/span>\n    <\/h1>\n    <img decoding=\"async\" class=\"hero-img\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/08\/\u5496\u5561\u5e97.png\" alt=\"Cafe Related Words\">\n    <p class=\"dek\">Order exactly what you want, however you want it \u2014 drink names, sizes, syrups, and the phrases for asking for a swap or an extra shot. Coffee shop menus in Taiwan mix English loanwords with their own local names!<\/p>\n  <\/div>\n<\/header>\n\n<section id=\"coffee-selections\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">01 \u2014 <span class=\"lang-zh-TW\">\u5496\u5561\u9078\u64c7<\/span><span class=\"lang-zh-CN\">\u5496\u5561\u9009\u62e9<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Coffee_Selections\"><\/span>Coffee Selections<span class=\"ez-toc-section-end\"><\/span><\/h2>\n    <\/div>\n    <div class=\"grid\" id=\"coffeeGrid\"><!-- filled by JS --><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"sizes\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">02 \u2014 <span class=\"lang-zh-TW\">\u5c3a\u5bf8<\/span><span class=\"lang-zh-CN\">\u5c3a\u5bf8<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Size_oz_Conversion\"><\/span>Size (oz. Conversion)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n      <p class=\"sec-sub\">Note: The same words mean different sizes depending on whether you&#8217;re at a regular coffee shop or Starbucks!<\/p>\n    <\/div>\n\n    <!-- Toggle Buttons -->\n    <div class=\"size-toggle\">\n      <button type=\"button\" class=\"toggle-btn active\" data-size=\"normal\">Normal Cafe<\/button>\n      <button type=\"button\" class=\"toggle-btn\" data-size=\"starbucks\">Starbucks<\/button>\n    <\/div>\n\n    <!-- Normal Sizes -->\n    <div class=\"size-group\" data-size-group=\"normal\">\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5c0f\u676f<\/span><rt>xi\u01ceob\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5c0f\u676f<\/span><rt>xi\u01ceob\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Small \u2014 12 oz. \/ 360 ml<\/div>\n      <\/div>\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u4e2d\u676f<\/span><rt>zh\u014dngb\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u4e2d\u676f<\/span><rt>zh\u014dngb\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Medium \u2014 16 oz. \/ 480 ml<\/div>\n      <\/div>\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5927\u676f<\/span><rt>d\u00e0b\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5927\u676f<\/span><rt>d\u00e0b\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Large \u2014 20 oz. \/ 600 ml<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Starbucks Sizes -->\n    <div class=\"size-group\" data-size-group=\"starbucks\" style=\"display:none;\">\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u4e2d\u676f<\/span><rt>zh\u014dngb\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u4e2d\u676f<\/span><rt>zh\u014dngb\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Tall \u2014 12 oz.<\/div>\n      <\/div>\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5927\u676f<\/span><rt>d\u00e0b\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5927\u676f<\/span><rt>d\u00e0b\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Grande \u2014 16 oz.<\/div>\n      <\/div>\n      <div class=\"size-row\">\n        <div class=\"label\"><ruby class=\"lang-zh-TW\"><span class=\"rb\">\u7279\u5927\u676f<\/span><rt>t\u00e8d\u00e0b\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\"><span class=\"rb\">\u7279\u5927\u676f<\/span><rt>t\u00e8d\u00e0b\u0113i<\/rt><\/ruby><\/div>\n        <div class=\"desc\">Venti \u2014 20 oz.<\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<section id=\"syrups\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">03 \u2014 <span class=\"lang-zh-TW\">\u7cd6\u6f3f<\/span><span class=\"lang-zh-CN\">\u7cd6\u6d46<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Syrups\"><\/span>Syrups<span class=\"ez-toc-section-end\"><\/span><\/h2>\n    <\/div>\n    <div class=\"grid\" id=\"syrupGrid\"><!-- filled by JS --><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"customizations\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">04 \u2014 <span class=\"lang-zh-TW\">\u5ba2\u88fd\u5316\u9078\u9805<\/span><span class=\"lang-zh-CN\">\u5ba2\u5236\u5316\u9009\u9879<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Customization_Options\"><\/span>Customization Options<span class=\"ez-toc-section-end\"><\/span><\/h2>\n    <\/div>\n    <div class=\"grid\" id=\"customGrid\"><!-- filled by JS --><\/div>\n\n    <h3 style=\"margin-top:30px; font-family:'Bitter',serif; font-size:1.3rem; color:var(--cve-ink);\"><span class=\"ez-toc-section\" id=\"Adjusting_an_order\"><\/span>Adjusting an order<span class=\"ez-toc-section-end\"><\/span><\/h3>\n    <div class=\"grid\" id=\"adjustGrid\"><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"sugar-ice\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">05 \u2014 <span class=\"lang-zh-TW\">\u7cd6\u5ea6\u8207\u51b0\u91cf<\/span><span class=\"lang-zh-CN\">\u7cd6\u5ea6\u4e0e\u51b0\u91cf<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Sugar_Ice_Levels\"><\/span>Sugar &#038; Ice Levels<span class=\"ez-toc-section-end\"><\/span><\/h2>\n      <p class=\"sec-sub\">Taiwanese coffee and drink counters let you dial in sugar and ice separately. Here&#8217;s how to order perfectly.<\/p>\n    <\/div>\n    \n    <h3 style=\"font-family:'Bitter',serif; font-size:1.1rem; color:var(--cve-oxblood);\"><span class=\"ez-toc-section\" id=\"Sugar_Level_%E7%94%9C%E5%BA%A6%E7%94%9C%E5%BA%A6\"><\/span>Sugar Level (<span class=\"lang-zh-TW\">\u751c\u5ea6<\/span><span class=\"lang-zh-CN\">\u751c\u5ea6<\/span>)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n    <div class=\"level-track\">\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5168\u7cd6<\/span><rt>qu\u00e1nt\u00e1ng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5168\u7cd6<\/span><rt>qu\u00e1nt\u00e1ng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u5168\u7cd6\" data-simp=\"\u5168\u7cd6\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Full sugar (100%)<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5c11\u7cd6<\/span><rt>sh\u01ceot\u00e1ng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5c11\u7cd6<\/span><rt>sh\u01ceot\u00e1ng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u5c11\u7cd6\" data-simp=\"\u5c11\u7cd6\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Less sugar (70%)<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u534a\u7cd6<\/span><rt>b\u00e0nt\u00e1ng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u534a\u7cd6<\/span><rt>b\u00e0nt\u00e1ng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u534a\u7cd6\" data-simp=\"\u534a\u7cd6\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Half sugar (50%)<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5fae\u7cd6<\/span><rt>w\u00e9it\u00e1ng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5fae\u7cd6<\/span><rt>w\u0113it\u00e1ng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u5fae\u7cd6\" data-simp=\"\u5fae\u7cd6\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Light sugar (30%)<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u7121\u7cd6<\/span><rt>w\u00fat\u00e1ng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u65e0\u7cd6<\/span><rt>w\u00fat\u00e1ng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u7121\u7cd6\" data-simp=\"\u65e0\u7cd6\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">No sugar (0%)<\/div>\n      <\/div>\n    <\/div>\n\n    <h3 style=\"font-family:'Bitter',serif; font-size:1.1rem; color:var(--cve-oxblood); margin-top:20px;\"><span class=\"ez-toc-section\" id=\"Ice_Level_%E5%86%B0%E9%87%8F%E5%86%B0%E9%87%8F\"><\/span>Ice Level (<span class=\"lang-zh-TW\">\u51b0\u91cf<\/span><span class=\"lang-zh-CN\">\u51b0\u91cf<\/span>)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n    <div class=\"level-track\">\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u6b63\u5e38\u51b0<\/span><rt>zh\u00e8ngch\u00e1ng b\u012bng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u6b63\u5e38\u51b0<\/span><rt>zh\u00e8ngch\u00e1ng b\u012bng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u6b63\u5e38\u51b0\" data-simp=\"\u6b63\u5e38\u51b0\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Regular ice<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot filled\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5c11\u51b0<\/span><rt>sh\u01ceob\u012bng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5c11\u51b0<\/span><rt>sh\u01ceob\u012bng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u5c11\u51b0\" data-simp=\"\u5c11\u51b0\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">Less ice<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot filled\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u5fae\u51b0<\/span><rt>w\u00e9ib\u012bng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u5fae\u51b0<\/span><rt>w\u0113ib\u012bng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u5fae\u51b0\" data-simp=\"\u5fae\u51b0\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">A little ice<\/div>\n      <\/div>\n      <div class=\"level-point\">\n        <div class=\"level-dots\"><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><\/div>\n        <div class=\"zh\">\n          <ruby class=\"lang-zh-TW\"><span class=\"rb\">\u53bb\u51b0<\/span><rt>q\u00f9b\u012bng<\/rt><\/ruby>\n          <ruby class=\"lang-zh-CN\"><span class=\"rb\">\u53bb\u51b0<\/span><rt>q\u00f9b\u012bng<\/rt><\/ruby>\n          <button type=\"button\" class=\"say\" data-trad=\"\u53bb\u51b0\" data-simp=\"\u53bb\u51b0\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>\n        <\/div>\n        <div class=\"en\">No ice (Chilled)<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"ordering\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">06 \u2014 <span class=\"lang-zh-TW\">\u5be6\u7528\u53e5<\/span><span class=\"lang-zh-CN\">\u5b9e\u7528\u53e5<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Useful_Phrases\"><\/span>Useful Phrases<span class=\"ez-toc-section-end\"><\/span><\/h2>\n    <\/div>\n    <div id=\"cafeOrderingSentences\"><!-- filled by JS --><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"culture-rules\">\n  <div class=\"wrap\">\n    <div class=\"sec-head\">\n      <div class=\"sec-num\">07 \u2014 <span class=\"lang-zh-TW\">\u6587\u5316\u8207\u898f\u5247<\/span><span class=\"lang-zh-CN\">\u6587\u5316\u4e0e\u89c4\u5219<\/span><\/div>\n      <h2 class=\"sec-title\"><span class=\"ez-toc-section\" id=\"Cafe_Culture_Rules\"><\/span>Cafe Culture &#038; Rules<span class=\"ez-toc-section-end\"><\/span><\/h2>\n    <\/div>\n\n    <div class=\"callout\">\n      <div class=\"icon\">\ud83c\uddf9\ud83c\uddfc<\/div>\n      <div>\n        <h3><span class=\"ez-toc-section\" id=\"Taiwan_Cafe_rules_to_know_%E5%92%96%E5%95%A1%E5%BB%B3%E8%A6%8F%E5%AE%9A%E5%92%96%E5%95%A1%E5%8E%85%E8%A7%84%E5%AE%9A\"><\/span>Taiwan: Cafe rules to know (<span class=\"lang-zh-TW\">\u5496\u5561\u5ef3\u898f\u5b9a<\/span><span class=\"lang-zh-CN\">\u5496\u5561\u5385\u89c4\u5b9a<\/span>)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n        <p>Independent cafes \u2014 the kind with good wifi and a laptop crowd \u2014 often post house rules by the door. Two terms are worth knowing:<\/p>\n        <ul>\n          <li><strong><span class=\"lang-zh-TW\">\u4f4e\u6d88<\/span><span class=\"lang-zh-CN\">\u4f4e\u6d88<\/span> (d\u012bxi\u0101o) &#8211; Minimum spend:<\/strong> Many cafes require at least one drink per person (<span class=\"lang-zh-TW\">\u4f4e\u6d88\u4e00\u676f<\/span><span class=\"lang-zh-CN\">\u4f4e\u6d88\u4e00\u676f<\/span>).<\/li>\n          <li><strong><span class=\"lang-zh-TW\">\u9650\u6642<\/span><span class=\"lang-zh-CN\">\u9650\u65f6<\/span> (xi\u00e0nsh\u00ed) &#8211; Time limit:<\/strong> Some cafes cap how long you can sit, especially if you&#8217;re plugged into a power outlet. (e.g., <span class=\"lang-zh-TW\">\u9650\u66422\u5c0f\u6642<\/span><span class=\"lang-zh-CN\">\u9650\u65f62\u5c0f\u65f6<\/span>).<\/li>\n        <\/ul>\n        <p style=\"margin-top:10px;\">At convenience stores, coffee orders get compressed into 3-character shorthand. E.g., <span class=\"lang-zh-TW\">\u5927\u51b0\u7f8e<\/span><span class=\"lang-zh-CN\">\u5927\u51b0\u7f8e<\/span> d\u00e0b\u012bngm\u011bi (Large Iced Americano) or <span class=\"lang-zh-TW\">\u4e2d\u71b1\u62ff<\/span><span class=\"lang-zh-CN\">\u4e2d\u70ed\u62ff<\/span> zh\u014dngr\u00e8n\u00e1 (Medium Hot Latte).<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"callout\">\n      <div class=\"icon\">\ud83c\udde8\ud83c\uddf3<\/div>\n      <div>\n        <h3><span class=\"ez-toc-section\" id=\"Mainland_China_Ordering_by_App_%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%B0%8F%E7%A8%8B%E5%BA%8F\"><\/span>Mainland China: Ordering by App (<span class=\"lang-zh-TW\">\u5c0f\u7a0b\u5e8f<\/span><span class=\"lang-zh-CN\">\u5c0f\u7a0b\u5e8f<\/span>)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n        <p>In China, chains like Luckin Coffee (<span class=\"lang-zh-TW\">\u745e\u5e78\u5496\u5561<\/span><span class=\"lang-zh-CN\">\u745e\u5e78\u5496\u5561<\/span>) are massive. Almost entirely app-ordered \u2014 many locations don&#8217;t take counter orders at all.<\/p>\n        <ul>\n          <li><strong><span class=\"lang-zh-TW\">\u5c0f\u7a0b\u5e8f<\/span><span class=\"lang-zh-CN\">\u5c0f\u7a0b\u5e8f<\/span> (xi\u01ceoch\u00e9ngx\u00f9):<\/strong> A WeChat &#8220;mini-program&#8221; most Chinese cafes use for ordering.<\/li>\n          <li>Scan the QR code on the table, order and pay from your phone, and a number gets called when it&#8217;s ready.<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"game\">\n  <div class=\"wrap\">\n    <!-- Interactive Game Box -->\n    <div class=\"game-container\">\n      <div class=\"game-header\">\n        <h3><span class=\"ez-toc-section\" id=\"%E2%98%95_Cafe_Ordering_Challenge\"><\/span>\u2615 Cafe Ordering Challenge<span class=\"ez-toc-section-end\"><\/span><\/h3>\n        <p style=\"font-size:0.9rem; color:var(--cve-ink-soft); margin-bottom:8px;\">Choose the correct Chinese response!<\/p>\n        <div class=\"score-board\">\n          <span>Question: <span id=\"current-level\">1<\/span> \/ 5<\/span>\n          <span>Score: <span id=\"score\">0<\/span><\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"order-box\">\n        <span class=\"eyebrow-mini\">Customer&#8217;s Order:<\/span>\n        <div class=\"order-text\" id=\"customer-order\">Loading&#8230;<\/div>\n      <\/div>\n\n      <div class=\"options-grid\" id=\"options-container\">\n        <!-- Options generated dynamically -->\n      <\/div>\n\n      <div class=\"feedback\" id=\"feedback-text\"><\/div>\n      <button class=\"btn-next\" id=\"next-btn\" onclick=\"nextQuestion()\">Next Question \u2794<\/button>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function(){\nfunction ruby(han, py, cls){ return `<ruby class=\"${cls}\"><span class=\"rb\">${han}<\/span><rt>${py}<\/rt><\/ruby>`; }\nfunction bilingualTerm(t){\n  return ruby(t.trad, t.tradPy, \"lang-zh-TW\") + ruby(t.simp, t.simpPy, \"lang-zh-CN\");\n}\nfunction bilingualSentence(s){\n  const trad = s.tradWords.map(([h,p]) => p ? ruby(h,p,\"lang-zh-TW\") : `<span class=\"lang-zh-TW\">${h}<\/span>`).join(\"\");\n  const simp = s.simpWords.map(([h,p]) => p ? ruby(h,p,\"lang-zh-CN\") : `<span class=\"lang-zh-CN\">${h}<\/span>`).join(\"\");\n  return trad + simp;\n}\n\nconst root = document.getElementById('cafe-vocab-embed-1');\nif(!root) return;\n\nfunction getCookie(name){\n  const m = document.cookie.match(new RegExp('(?:^|; )' + name.replace(\/[-.*+?^${}()|[\\]\\\\]\/g, '\\\\$&') + '=([^;]*)'));\n  return m ? decodeURIComponent(m[1]) : undefined;\n}\n\nfunction cookieIsTruthy(v){\n  return v !== undefined && v !== '' && v !== '0';\n}\n\nfunction speak(trad, simp){\n  if(!('speechSynthesis' in window)) return;\n  const isSimp = getCookie('lang_zh-TW') === '0';\n  const text = isSimp ? simp : trad;\n  const u = new SpeechSynthesisUtterance(text);\n  u.lang = isSimp ? 'zh-CN' : 'zh-TW';\n  speechSynthesis.cancel();\n  speechSynthesis.speak(u);\n}\nfunction sayBtn(trad, simp){\n  return `<button type=\"button\" class=\"say\" data-trad=\"${trad}\" data-simp=\"${simp}\" aria-label=\"Play pronunciation\">\ud83d\udd0a<\/button>`;\n}\n\nroot.addEventListener('click', function(e){\n  const btn = e.target.closest('button.say');\n  if(btn){\n    speak(btn.dataset.trad, btn.dataset.simp);\n  }\n});\n\nfunction applySiteLanguagePrefs(){\n  const isSimplified = getCookie('lang_zh-TW') === '0';\n  const hideClass = isSimplified ? 'lang-zh-TW' : 'lang-zh-CN';\n  const showClass = isSimplified ? 'lang-zh-CN' : 'lang-zh-TW';\n\n  root.querySelectorAll('.' + hideClass).forEach(el => {\n    el.style.display = 'none';\n  });\n  root.querySelectorAll('.' + showClass).forEach(el => {\n    el.style.display = '';\n  });\n\n  const pinyinPref = getCookie('pinyin-display');\n  if(pinyinPref === 'hidden' || pinyinPref === 'mouseover'){\n    root.querySelectorAll('rt').forEach(rt => rt.classList.add(pinyinPref));\n  }\n}\n\n\/\/ \u5c3a\u5bf8\u5207\u63db UI Logic\nroot.querySelectorAll('.toggle-btn').forEach(function(btn){\n  btn.addEventListener('click', function(){\n    root.querySelectorAll('.toggle-btn').forEach(function(b){ b.classList.remove('active'); });\n    btn.classList.add('active');\n    var target = btn.dataset.size;\n    root.querySelectorAll('.size-group').forEach(function(g){\n      if(g.dataset.sizeGroup === target) {\n        g.style.display = 'block';\n      } else {\n        g.style.display = 'none';\n      }\n    });\n  });\n});\n\n\/\/ Data Arrays mapped into Grid Cards\nconst coffeeData = [\n  {trad:\"\u7fa9\u5f0f\u6fc3\u7e2e\", tradPy:\"y\u00ecsh\u00ec n\u00f3ngsu\u014d\", simp:\"\u4e49\u5f0f\u6d53\u7f29\", simpPy:\"y\u00ecsh\u00ec n\u00f3ngsu\u014d\", en:\"Espresso shot\"},\n  {trad:\"\u7f8e\u5f0f\u5496\u5561\", tradPy:\"m\u011bish\u00ec k\u0101f\u0113i\", simp:\"\u7f8e\u5f0f\u5496\u5561\", simpPy:\"m\u011bish\u00ec k\u0101f\u0113i\", en:\"Americano\"},\n  {trad:\"\u51b7\u8403\u5496\u5561\", tradPy:\"l\u011bngcu\u00ec k\u0101f\u0113i\", simp:\"\u51b7\u8403\u5496\u5561\", simpPy:\"l\u011bngcu\u00ec k\u0101f\u0113i\", en:\"Cold brew coffee\"},\n  {trad:\"\u62ff\u9435\", tradPy:\"n\u00e1ti\u011b\", simp:\"\u62ff\u94c1\", simpPy:\"n\u00e1ti\u011b\", en:\"Latte (Starbucks: \u62ff\u5824 N\u00e1t\u00ed)\"},\n  {trad:\"\u6469\u5361\", tradPy:\"m\u00f3k\u01ce\", simp:\"\u6469\u5361\", simpPy:\"m\u00f3k\u01ce\", en:\"Mocha\"},\n  {trad:\"\u6fb3\u767d\", tradPy:\"\u00e0ob\u00e1i\", simp:\"\u6fb3\u767d\", simpPy:\"\u00e0ob\u00e1i\", en:\"Flat white (Starbucks: \u99a5\u82ae\u767d F\u00f9ru\u00ecb\u00e1i)\"},\n  {trad:\"\u7126\u7cd6\u746a\u5947\u6735\", tradPy:\"ji\u0101ot\u00e1ng m\u01ceq\u00eddu\u01d2\", simp:\"\u7126\u7cd6\u739b\u5947\u6735\", simpPy:\"ji\u0101ot\u00e1ng m\u01ceq\u00eddu\u01d2\", en:\"Caramel Macchiato\"},\n  {trad:\"\u661f\u51b0\u6a02\", tradPy:\"x\u012bngb\u012bngl\u00e8\", simp:\"\u661f\u51b0\u4e50\", simpPy:\"x\u012bngb\u012bngl\u00e8\", en:\"Frappuccino\"},\n  {trad:\"\u963f\u8299\u4f73\u6735\", tradPy:\"\u0101f\u00faji\u0101du\u01d2\", simp:\"\u963f\u8299\u4f73\u6735\", simpPy:\"\u0101f\u00faji\u0101du\u01d2\", en:\"Affogato\"}\n];\n\nconst syrupData = [\n  {trad:\"\u9999\u8349\", tradPy:\"xi\u0101ngc\u01ceo\", simp:\"\u9999\u8349\", simpPy:\"xi\u0101ngc\u01ceo\", en:\"Vanilla\"},\n  {trad:\"\u699b\u679c\", tradPy:\"zh\u0113ngu\u01d2\", simp:\"\u699b\u679c\", simpPy:\"zh\u0113ngu\u01d2\", en:\"Hazelnut\"},\n  {trad:\"\u7126\u7cd6\", tradPy:\"ji\u0101ot\u00e1ng\", simp:\"\u7126\u7cd6\", simpPy:\"ji\u0101ot\u00e1ng\", en:\"Caramel\"},\n  {trad:\"\u674f\u4ec1\", tradPy:\"x\u00ecngr\u00e9n\", simp:\"\u674f\u4ec1\", simpPy:\"x\u00ecngr\u00e9n\", en:\"Almond\"},\n  {trad:\"\u5de7\u514b\u529b\", tradPy:\"qi\u01ceok\u00e8l\u00ec\", simp:\"\u5de7\u514b\u529b\", simpPy:\"qi\u01ceok\u00e8l\u00ec\", en:\"Chocolate\"},\n  {trad:\"\u767d\u5de7\u514b\u529b\", tradPy:\"b\u00e1iqi\u01ceok\u00e8l\u00ec\", simp:\"\u767d\u5de7\u514b\u529b\", simpPy:\"b\u00e1iqi\u01ceok\u00e8l\u00ec\", en:\"White chocolate\"},\n  {trad:\"\u8986\u76c6\u5b50\", tradPy:\"f\u00f9p\u00e9nz\u01d0\", simp:\"\u8986\u76c6\u5b50\", simpPy:\"f\u00f9p\u00e9nz\u01d0\", en:\"Raspberry\"},\n  {trad:\"\u8584\u8377\", tradPy:\"b\u00f2h\u00e9\", simp:\"\u8584\u8377\", simpPy:\"b\u00f2h\u00e9\", en:\"Mint\"},\n  {trad:\"\u8089\u6842\", tradPy:\"r\u00f2ugu\u00ec\", simp:\"\u8089\u6842\", simpPy:\"r\u00f2ugu\u00ec\", en:\"Cinnamon\"},\n  {trad:\"\u5357\u74dc\", tradPy:\"n\u00e1ngu\u0101\", simp:\"\u5357\u74dc\", simpPy:\"n\u00e1ngu\u0101\", en:\"Pumpkin spice\"},\n  {trad:\"\u592a\u5983\u7cd6\", tradPy:\"t\u00e0if\u0113it\u00e1ng\", simp:\"\u592a\u5983\u7cd6\", simpPy:\"t\u00e0if\u0113it\u00e1ng\", en:\"Toffee\"},\n  {trad:\"\u6953\u7cd6\", tradPy:\"f\u0113ngt\u00e1ng\", simp:\"\u67ab\u7cd6\", simpPy:\"f\u0113ngt\u00e1ng\", en:\"Maple syrup\"}\n];\n\nconst customData = [\n  {trad:\"\u51b0\u7684\", tradPy:\"b\u012bng de\", simp:\"\u51b0\u7684\", simpPy:\"b\u012bng de\", en:\"Iced\"},\n  {trad:\"\u71b1\u7684\", tradPy:\"r\u00e8 de\", simp:\"\u70ed\u7684\", simpPy:\"r\u00e8 de\", en:\"Hot\"},\n  {trad:\"\u8c46\u6f3f\", tradPy:\"d\u00f2uji\u0101ng\", simp:\"\u8c46\u6d46\", simpPy:\"d\u00f2uji\u0101ng\", en:\"Soy milk\"},\n  {trad:\"\u4f4e\u8102\u725b\u5976\", tradPy:\"d\u012bzh\u012b ni\u00fan\u01cei\", simp:\"\u4f4e\u8102\u725b\u5976\", simpPy:\"d\u012bzh\u012b ni\u00fan\u01cei\", en:\"Low-fat milk\"},\n  {trad:\"\u812b\u8102\u725b\u5976\", tradPy:\"tu\u014dzh\u012b ni\u00fan\u01cei\", simp:\"\u8131\u8102\u725b\u5976\", simpPy:\"tu\u014dzh\u012b ni\u00fan\u01cei\", en:\"Nonfat milk\"},\n  {trad:\"\u5976\u6ce1\", tradPy:\"n\u01cei p\u00e0o\", simp:\"\u5976\u6ce1\", simpPy:\"n\u01cei p\u00e0o\", en:\"Foam\"},\n  {trad:\"\u9bae\u5976\u6cb9\", tradPy:\"xi\u0101n n\u01ceiy\u00f3u\", simp:\"\u9c9c\u5976\u6cb9\", simpPy:\"xi\u0101n n\u01ceiy\u00f3u\", en:\"Whipped cream\"},\n  {trad:\"\u71d5\u9ea5\u5976\", tradPy:\"y\u00e0nm\u00e0i n\u01cei\", simp:\"\u71d5\u9ea6\u5976\", simpPy:\"y\u00e0nm\u00e0i n\u01cei\", en:\"Oat milk\"},\n  {trad:\"\u674f\u4ec1\u5976\", tradPy:\"x\u00ecngr\u00e9n n\u01cei\", simp:\"\u674f\u4ec1\u5976\", simpPy:\"x\u00ecngr\u00e9n n\u01cei\", en:\"Almond milk\"},\n  {trad:\"\u7121\u5496\u5561\u56e0\", tradPy:\"w\u00fa k\u0101f\u0113iy\u012bn\", simp:\"\u65e0\u5496\u5561\u56e0\", simpPy:\"w\u00fa k\u0101f\u0113iy\u012bn\", en:\"Decaf\"}\n];\n\nconst adjustData = [\n  {trad:\"\u4e0d\u8981\u52a0...\", tradPy:\"b\u00fa y\u00e0o ji\u0101\", simp:\"\u4e0d\u8981\u52a0...\", simpPy:\"b\u00fa y\u00e0o ji\u0101\", en:\"No (something)\"},\n  {trad:\"\u5c11\u9ede...\", tradPy:\"sh\u01ceo di\u01cen\", simp:\"\u5c11\u70b9...\", simpPy:\"sh\u01ceo di\u01cen\", en:\"Go easy on (something)\"},\n  {trad:\"\u591a\u9ede...\", tradPy:\"du\u014d di\u01cen\", simp:\"\u591a\u70b9...\", simpPy:\"du\u014d di\u01cen\", en:\"Extra (something)\"}\n];\n\nconst orderingSentences = [\n  {\n    tradWords:[[\"\u6211\u8981\", \"w\u01d2 y\u00e0o\"],[\"\u4e00\u676f\", \"y\u00ec b\u0113i\"],[\"\u7279\u5927\u676f\", \"t\u00e8d\u00e0b\u0113i\"],[\"\u6469\u5361\", \"m\u00f3k\u01ce\"],[\"\uff0c\", \"\"],[\"\u8b1d\u8b1d\", \"xi\u00e8xie\"]],\n    simpWords:[[\"\u6211\u8981\", \"w\u01d2 y\u00e0o\"],[\"\u4e00\u676f\", \"y\u00ec b\u0113i\"],[\"\u7279\u5927\u676f\", \"t\u00e8d\u00e0b\u0113i\"],[\"\u6469\u5361\", \"m\u00f3k\u01ce\"],[\"\uff0c\", \"\"],[\"\u8c22\u8c22\", \"xi\u00e8xie\"]],\n    en:\"I would like a venti mocha latte, please.\",\n    tip:null\n  },\n  {\n    tradWords:[[\"\u6211\u8981\", \"w\u01d2 y\u00e0o\"],[\"\u4e00\u676f\", \"y\u00ec b\u0113i\"],[\"\u51b0\u7684\", \"b\u012bng de\"],[\"\u699b\u679c\", \"zh\u0113ngu\u01d2\"],[\"\u62ff\u9435\", \"n\u00e1ti\u011b\"],[\"\u63db\", \"hu\u00e0n\"],[\"\u71d5\u9ea5\u5976\", \"y\u00e0nm\u00e0in\u01cei\"],[\"\uff0c\", \"\"],[\"\u5c11\u9ede\u51b0\", \"sh\u01ceo di\u01cen b\u012bng\"]],\n    simpWords:[[\"\u6211\u8981\", \"w\u01d2 y\u00e0o\"],[\"\u4e00\u676f\", \"y\u00ec b\u0113i\"],[\"\u51b0\u7684\", \"b\u012bng de\"],[\"\u699b\u679c\", \"zh\u0113ngu\u01d2\"],[\"\u62ff\u94c1\", \"n\u00e1ti\u011b\"],[\"\u6362\", \"hu\u00e0n\"],[\"\u71d5\u9ea6\u5976\", \"y\u00e0nm\u00e0in\u01cei\"],[\"\uff0c\", \"\"],[\"\u5c11\u70b9\u51b0\", \"sh\u01ceo di\u01cen b\u012bng\"]],\n    en:\"I would like an iced hazelnut latte with oat milk, easy on the ice.\",\n    tip:null\n  },\n  {\n    tradWords:[[\"\u53ef\u4ee5\", \"k\u011by\u01d0\"],[\"\u591a\u52a0\", \"du\u014d ji\u0101\"],[\"\u4e00\u4efd\", \"y\u00ed f\u00e8n\"],[\"\u6fc3\u7e2e\", \"n\u00f3ngsu\u014d\"],[\"\u55ce\", \"ma\"],[\"\uff1f\", \"\"]],\n    simpWords:[[\"\u53ef\u4ee5\", \"k\u011by\u01d0\"],[\"\u591a\u52a0\", \"du\u014d ji\u0101\"],[\"\u4e00\u4efd\", \"y\u00ed f\u00e8n\"],[\"\u6d53\u7f29\", \"n\u00f3ngsu\u014d\"],[\"\u5417\", \"ma\"],[\"\uff1f\", \"\"]],\n    en:\"Can I add an extra espresso shot?\",\n    tip:null\n  },\n  {\n    tradWords:[[\"\u53ef\u4ee5\", \"k\u011by\u01d0\"],[\"\u5e6b\u6211\", \"b\u0101ng w\u01d2\"],[\"\u52a0\u71b1\", \"ji\u0101r\u00e8\"],[\"\u4e00\u4e0b\", \"y\u00edxi\u00e0\"],[\"\u55ce\", \"ma\"],[\"\uff1f\", \"\"]],\n    simpWords:[[\"\u53ef\u4ee5\", \"k\u011by\u01d0\"],[\"\u5e2e\u6211\", \"b\u0101ng w\u01d2\"],[\"\u52a0\u70ed\", \"ji\u0101r\u00e8\"],[\"\u4e00\u4e0b\", \"y\u00edxi\u00e0\"],[\"\u5417\", \"ma\"],[\"\uff1f\", \"\"]],\n    en:\"Can you heat it up for me?\",\n    tip:null\n  }\n];\n\nfunction renderGrid(id, data){\n  const el = root.querySelector(\"#\" + id);\n  if(!el) return;\n  el.innerHTML = data.map(d => `\n    <div class=\"card\">\n      <span class=\"hz\">${bilingualTerm(d)} ${sayBtn(d.trad, d.simp)}<\/span>\n      <span class=\"en\">${d.en}<\/span>\n    <\/div>\n  `).join(\"\");\n}\n\nfunction renderSentenceBlock(s){\n  const tradFull = s.tradWords.map(([h]) => h).join(\"\");\n  const simpFull = s.simpWords.map(([h]) => h).join(\"\");\n  return `\n    <div class=\"phrase-card\">\n      <span class=\"hz\">${bilingualSentence(s)} ${sayBtn(tradFull, simpFull)}<\/span>\n      <span class=\"en\">${s.en}<\/span>\n      ${s.tip ? `<div class=\"tip\">${s.tip}<\/div>` : \"\"}\n    <\/div>\n  `;\n}\n\nfunction renderOrdering(){\n  const el = root.querySelector(\"#cafeOrderingSentences\");\n  if(el) {\n    el.innerHTML = orderingSentences.map(renderSentenceBlock).join(\"\");\n  }\n}\n\nrenderGrid(\"coffeeGrid\", coffeeData);\nrenderGrid(\"syrupGrid\", syrupData);\nrenderGrid(\"customGrid\", customData);\nrenderGrid(\"adjustGrid\", adjustData);\nrenderOrdering();\n\napplySiteLanguagePrefs();\n})();\n<\/script>\n\n<!-- ================= \u904a\u6232\u8173\u672c ================= -->\n<script>\n  const quizData = [\n    {\n      order: \"I would like a large iced Hazelnut Latte with Oat Milk, easy on ice.\",\n      options: [\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u699b\u679c<rt>zh\u0113ngu\u01d2<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u63db<rt>hu\u00e0n<\/rt>\u71d5\u9ea5\u5976<rt>y\u00e0nm\u00e0in\u01cei<\/rt>\uff0c<rt> <\/rt>\u5c11<rt>sh\u01ceo<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u699b\u679c<rt>zh\u0113ngu\u01d2<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u6362<rt>hu\u00e0n<\/rt>\u71d5\u9ea6\u5976<rt>y\u00e0nm\u00e0in\u01cei<\/rt>\uff0c<rt> <\/rt>\u5c11<rt>sh\u01ceo<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u7126\u7cd6<rt>ji\u0101ot\u00e1ng<\/rt>\u746a\u5947\u6735<rt>m\u01ceq\u00eddu\u01d2<\/rt>\u52a0<rt>ji\u0101<\/rt>\u8c46\u6f3f<rt>d\u00f2uji\u0101ng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u7126\u7cd6<rt>ji\u0101ot\u00e1ng<\/rt>\u739b\u5947\u6735<rt>m\u01ceq\u00eddu\u01d2<\/rt>\u52a0<rt>ji\u0101<\/rt>\u8c46\u6d46<rt>d\u00f2uji\u0101ng<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u9999\u8349<rt>xi\u0101ngc\u01ceo<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u725b\u5976<rt>ni\u00fan\u01cei<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u9999\u8349<rt>xi\u0101ngc\u01ceo<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u725b\u5976<rt>ni\u00fan\u01cei<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u6469\u5361<rt>m\u00f3k\u01ce<\/rt>\u63db<rt>hu\u00e0n<\/rt>\u674f\u4ec1\u5976<rt>x\u00ecngr\u00e9nn\u01cei<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u6469\u5361<rt>m\u00f3k\u01ce<\/rt>\u6362<rt>hu\u00e0n<\/rt>\u674f\u4ec1\u5976<rt>x\u00ecngr\u00e9nn\u01cei<\/rt><\/ruby>'\n      ],\n      answer: 0\n    },\n    {\n      order: \"Can I get a Venti Iced Americano, easy on the ice?\",\n      options: [\n        '<ruby class=\"lang-zh-TW\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u53bb\u51b0<rt>q\u00f9b\u012bng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u53bb\u51b0<rt>q\u00f9b\u012bng<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5c11<rt>sh\u01ceo<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5c11<rt>sh\u01ceo<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u591a<rt>du\u014d<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u591a<rt>du\u014d<\/rt>\u51b0<rt>b\u012bng<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5c0f\u676f<rt>xi\u01ceob\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5c0f\u676f<rt>xi\u01ceob\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt><\/ruby>'\n      ],\n      answer: 1\n    },\n    {\n      order: \"I'll have a decaf latte with nonfat milk, please.\",\n      options: [\n        '<ruby class=\"lang-zh-TW\">\u7121<rt>w\u00fa<\/rt>\u5496\u5561\u56e0<rt>k\u0101f\u0113iy\u012bn<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u9bae\u5976\u6cb9<rt>xi\u0101n n\u01ceiy\u00f3u<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u65e0<rt>w\u00fa<\/rt>\u5496\u5561\u56e0<rt>k\u0101f\u0113iy\u012bn<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u9c9c\u5976\u6cb9<rt>xi\u0101n n\u01ceiy\u00f3u<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u96d9\u4efd<rt>shu\u0101ngf\u00e8n<\/rt>\u6fc3\u7e2e<rt>n\u00f3ngsu\u014d<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u5168\u8102\u5976<rt>qu\u00e1nzh\u012bn\u01cei<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u53cc\u4efd<rt>shu\u0101ngf\u00e8n<\/rt>\u6d53\u7f29<rt>n\u00f3ngsu\u014d<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u5168\u8102\u5976<rt>qu\u00e1nzh\u012bn\u01cei<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u7121<rt>w\u00fa<\/rt>\u5496\u5561\u56e0<rt>k\u0101f\u0113iy\u012bn<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u812b\u8102<rt>tu\u014dzh\u01d0<\/rt>\u725b\u5976<rt>ni\u00fan\u01cei<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u65e0<rt>w\u00fa<\/rt>\u5496\u5561\u56e0<rt>k\u0101f\u0113iy\u012bn<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt>\u52a0<rt>ji\u0101<\/rt>\u8131\u8102<rt>tu\u014dzh\u012b<\/rt>\u725b\u5976<rt>ni\u00fan\u01cei<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u51b7\u8403<rt>l\u011bngcu\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt>\u52a0<rt>ji\u0101<\/rt>\u699b\u679c<rt>zh\u0113ngu\u01d2<\/rt>\u7cd6\u6f3f<rt>t\u00e1ngji\u0101ng<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u51b7\u8403<rt>l\u011bngcu\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt>\u52a0<rt>ji\u0101<\/rt>\u699b\u679c<rt>zh\u0113ngu\u01d2<\/rt>\u7cd6\u6d46<rt>t\u00e1ngji\u0101ng<\/rt><\/ruby>'\n      ],\n      answer: 2\n    },\n    {\n      order: \"Taiwanese Local Slang: What does '\u5927\u51b0\u7f8e (D\u00e0 b\u012bng m\u011bi)' stand for?\",\n      options: [\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7126\u7cd6<rt>ji\u0101ot\u00e1ng<\/rt>\u746a\u5947\u6735<rt>m\u01ceq\u00eddu\u01d2<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7126\u7cd6<rt>ji\u0101ot\u00e1ng<\/rt>\u739b\u5947\u6735<rt>m\u01ceq\u00eddu\u01d2<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u7279\u5927\u676f<rt>t\u00e8d\u00e0b\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt>\u5496\u5561<rt>k\u0101f\u0113i<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u6469\u5361<rt>m\u00f3k\u01ce<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u6469\u5361<rt>m\u00f3k\u01ce<\/rt><\/ruby>'\n      ],\n      answer: 1\n    },\n    {\n      order: \"Taiwanese Local Slang: What does '\u4e2d\u71b1\u62ff (Zh\u014dng r\u00e8 n\u00e1)' stand for?\",\n      options: [\n        '<ruby class=\"lang-zh-TW\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u62ff\u9435<rt>n\u00e1ti\u011b<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u4e2d\u676f<rt>zh\u014dngb\u0113i<\/rt>\u51b0<rt>b\u012bng<\/rt>\u62ff\u94c1<rt>n\u00e1ti\u011b<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u62b9\u8336<rt>m\u01d2ch\u00e1<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5927\u676f<rt>d\u00e0b\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u62b9\u8336<rt>m\u01d2ch\u00e1<\/rt><\/ruby>',\n        '<ruby class=\"lang-zh-TW\">\u5c0f\u676f<rt>xi\u01ceob\u0113i<\/rt>\u71b1<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt><\/ruby><ruby class=\"lang-zh-CN\" style=\"display:none;\">\u5c0f\u676f<rt>xi\u01ceob\u0113i<\/rt>\u70ed<rt>r\u00e8<\/rt>\u7f8e\u5f0f<rt>m\u011bish\u00ec<\/rt><\/ruby>'\n      ],\n      answer: 0\n    }\n  ];\n\n  let currentLevel = 0;\n  let score = 0;\n  let canAnswer = true;\n\n  const orderEl = document.getElementById('customer-order');\n  const optionsEl = document.getElementById('options-container');\n  const feedbackEl = document.getElementById('feedback-text');\n  const nextBtn = document.getElementById('next-btn');\n  const scoreEl = document.getElementById('score');\n  const currentLevelEl = document.getElementById('current-level');\n\n  function loadQuestion() {\n    canAnswer = true;\n    nextBtn.style.display = 'none';\n    feedbackEl.innerText = '';\n    \n    currentLevelEl.innerText = currentLevel + 1;\n    const currentQuiz = quizData[currentLevel];\n    orderEl.innerText = `\"${currentQuiz.order}\"`;\n    \n    optionsEl.innerHTML = '';\n    currentQuiz.options.forEach((optionHtml, index) => {\n      const button = document.createElement('button');\n      button.classList.add('btn-option');\n      button.innerHTML = optionHtml;\n      button.onclick = () => selectOption(index, button);\n      optionsEl.appendChild(button);\n    });\n\n    \/\/ \u89f8\u767c\u4e00\u6b21\u7e41\u7c21\u72c0\u614b\u66f4\u65b0\uff08\u907f\u514d\u65b0\u751f\u6210\u7684 DOM \u6c92\u5403\u5230 Cookie \u8a2d\u5b9a\uff09\n    if(typeof applySiteLanguagePrefs === 'function') {\n      setTimeout(applySiteLanguagePrefs, 10);\n    }\n  }\n\n  function selectOption(selectedIndex, button) {\n    if (!canAnswer) return;\n    canAnswer = false;\n\n    const currentQuiz = quizData[currentLevel];\n    const buttons = optionsEl.children;\n\n    if (selectedIndex === currentQuiz.answer) {\n      button.classList.add('correct');\n      feedbackEl.style.color = '#2e7d32';\n      feedbackEl.innerText = '\ud83c\udf89 Correct!';\n      score += 20;\n      scoreEl.innerText = score;\n    } else {\n      button.classList.add('wrong');\n      buttons[currentQuiz.answer].classList.add('correct');\n      feedbackEl.style.color = '#c62828';\n      feedbackEl.innerText = '\u274c Incorrect!';\n    }\n\n    if (currentLevel < quizData.length - 1) {\n      nextBtn.style.display = 'block';\n    } else {\n      nextBtn.innerText = 'View Final Results';\n      nextBtn.style.display = 'block';\n    }\n  }\n\n  \/\/ \u907f\u514d\u5168\u5c40\u6c61\u67d3\uff0c\u5c07 nextQuestion \u7d81\u5b9a\u5728 window \u4e0a\n  window.nextQuestion = function() {\n    currentLevel++;\n    if (currentLevel < quizData.length) {\n      loadQuestion();\n    } else {\n      showFinalResult();\n    }\n  };\n\n  function showFinalResult() {\n    document.querySelector('.order-box').style.display = 'none';\n    optionsEl.style.display = 'none';\n    nextBtn.style.display = 'none';\n    \n    feedbackEl.style.color = 'var(--cve-oxblood)';\n    feedbackEl.innerHTML = `\n      <h2><span class=\"ez-toc-section\" id=\"%F0%9F%8E%8A_Game_Over\"><\/span>\ud83c\udf8a Game Over!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n      <p style=\"margin-top:8px; font-size:1.1rem; color:var(--cve-ink);\">Your Final Score: <strong>${score}<\/strong> \/ 100<\/p>\n      <p style=\"margin-top:6px; font-size:0.9rem; color:var(--cve-ink-soft);\">\n        ${score === 100 ? 'Awesome! You are a master at ordering coffee in Taiwan!' : 'Good try! Keep practicing Chinese vocabulary!'}\n      <\/p>\n      <button onclick=\"location.reload()\" class=\"btn-next\" style=\"display:block; margin-top:15px; width:100%; background:var(--cve-sage);\">Play Again<\/button>\n    `;\n  }\n\n  \/\/ Initialize the game when DOM is fully loaded\n  document.addEventListener('DOMContentLoaded', loadQuestion);\n\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-medium is-resized\"><a href=\"https:\/\/ko-fi.com\/tiffanystalk\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"58\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png\" alt=\"\" class=\"wp-image-570\" style=\"width:150px;height:29px\" srcset=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png 300w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-600x115.png 600w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1024x197.png 1024w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-768x148.png 768w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-1536x296.png 1536w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-2048x394.png 2048w, https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-850x164.png 850w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption class=\"wp-element-caption\">Do you like it? \ud83d\ude42<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium is-resized\"><a href=\"https:\/\/tiffanysmandarin.com\/index.php\/food-words\/\"><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>Food Vocabulary \u5496\u5561\u5ef3\u7528\u8a9e\u5496\u5561\u5385\u7528\u8bed Cafe Related Words in Chinese Order exactly what you want, however you want it \u2014 drink names, sizes, syrups, and the phrases for asking for a swap or an extra shot. Coffee shop menus in Taiwan mix English loanwords with their own local names! 01 \u2014 \u5496\u5561\u9078\u64c7\u5496\u5561\u9009\u62e9 Coffee Selections 02 \u2014 \u5c3a\u5bf8\u5c3a\u5bf8&#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":[1238],"tags":[65,66,67],"class_list":["post-754","post","type-post","status-publish","format-standard","hentry","category-food","tag-cafe","tag-coffee","tag-coffee-shop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cafe Related Words - OneDotDot Chinese<\/title>\n<meta name=\"description\" content=\"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.\" \/>\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\/2023\/02\/02\/cafe\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cafe Related Words - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-02T13:39:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-16T16:32:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png\" \/>\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\\\/2023\\\/02\\\/02\\\/cafe\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"Cafe Related Words\",\"datePublished\":\"2023-02-02T13:39:40+00:00\",\"dateModified\":\"2026-08-16T16:32:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/\"},\"wordCount\":415,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/fcacd-buymeacoffee_red402x-300x58.png\",\"keywords\":[\"cafe\",\"coffee\",\"coffee shop\"],\"articleSection\":[\"food\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/\",\"name\":\"Cafe Related Words - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/fcacd-buymeacoffee_red402x-300x58.png\",\"datePublished\":\"2023-02-02T13:39:40+00:00\",\"dateModified\":\"2026-08-16T16:32:00+00:00\",\"description\":\"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/fcacd-buymeacoffee_red402x.png\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/fcacd-buymeacoffee_red402x.png\",\"width\":3050,\"height\":587},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2023\\\/02\\\/02\\\/cafe\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cafe Related Words\"}]},{\"@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":"Cafe Related Words - OneDotDot Chinese","description":"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.","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\/2023\/02\/02\/cafe\/","og_locale":"en_US","og_type":"article","og_title":"Cafe Related Words - OneDotDot Chinese","og_description":"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/","og_site_name":"OneDotDot Chinese","article_published_time":"2023-02-02T13:39:40+00:00","article_modified_time":"2026-08-16T16:32:00+00:00","og_image":[{"url":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png","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\/2023\/02\/02\/cafe\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"Cafe Related Words","datePublished":"2023-02-02T13:39:40+00:00","dateModified":"2026-08-16T16:32:00+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/"},"wordCount":415,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#primaryimage"},"thumbnailUrl":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png","keywords":["cafe","coffee","coffee shop"],"articleSection":["food"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/","name":"Cafe Related Words - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#primaryimage"},"thumbnailUrl":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x-300x58.png","datePublished":"2023-02-02T13:39:40+00:00","dateModified":"2026-08-16T16:32:00+00:00","description":"Learn useful cafe vocabulary and phrases in Chinese, including coffee drinks, sizes, syrups, milk options, customizations, and common ways to order coffee in Taiwan.","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x.png","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/fcacd-buymeacoffee_red402x.png","width":3050,"height":587},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2023\/02\/02\/cafe\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"Cafe Related Words"}]},{"@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\/754","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=754"}],"version-history":[{"count":28,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/754\/revisions"}],"predecessor-version":[{"id":15381,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/754\/revisions\/15381"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}