{"product_id":"movespeed-energy-planet-25k-145w-power-bank","title":"MOVESPEED Energy Planet 25K 145W 3-Port Laptop Power Bank","description":"\u003cdiv class=\"image-container\"\u003e\n\u003ch2 style=\"text-align: center;\"\u003e\u003cspan style=\"color: rgb(3, 11, 76);\"\u003eProduct Gallery\u003c\/span\u003e\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003c!-- ✅ One-Field Power Bank Calculator · Left-Caret + Custom Autocomplete (reset on empty\/unknown) --\u003e\n\u003cstyle\u003e\n  .pb-onefield *{box-sizing:border-box}\n  .pb-onefield h4{margin:0 0 8px;font-size:16px}\n  .pb-onefield label{display:block;font-weight:600;margin:6px 0 6px}\n  .pb-onefield input{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;background:#fff}\n  .pb-onefield .kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}\n  .pb-onefield .pill{flex:1 1 120px;min-width:120px;text-align:center;border:1px solid #e5e5e5;background:#fff;border-radius:10px;padding:10px}\n  .pb-onefield .pill b{display:block;font-size:18px}\n  .pb-onefield .msg{margin-top:10px;border-left:4px solid #22c55e;background:#eefaf1;padding:10px;border-radius:8px}\n  .pb-onefield .msg.warn{border-left-color:#ffa500;background:#fff7e6}\n  .pb-onefield .note{color:#666;font-size:12px;margin-top:8px}\n\n  \/* ⬅️ 左侧箭头输入容器 *\/\n  .pb-onefield .pb-left-caret{\n    position:relative;\n    overflow:visible; \/* 让下拉不被父容器裁切 *\/\n  }\n  .pb-onefield .pb-left-caret input{\n    width:100%;\n    padding:10px 12px 10px 36px; \/* 左侧箭头空间 *\/\n    border:1px solid #ddd; border-radius:10px; background:#fff;\n  }\n  .pb-onefield .pb-caret-btn{\n    position:absolute; left:10px; top:50%; transform:translateY(-50%);\n    border:0; background:transparent; cursor:pointer; line-height:1; padding:0 2px;\n    font-size:16px; color:#666;\n    touch-action:manipulation;\n  }\n  .pb-onefield .pb-caret-btn:focus{outline:2px solid #c9defc; border-radius:4px}\n\n  \/* 🔽 自定义下拉列表 *\/\n  .pb-onefield .pb-suggest{\n    position:absolute; z-index:9999; left:0; right:0; top:100%; margin-top:6px;\n    max-height:260px; overflow:auto; background:#fff; border:1px solid #e5e5e5;\n    border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.08); display:none;\n  }\n  .pb-onefield .pb-suggest.open{display:block}\n  .pb-onefield .pb-suggest ul{list-style:none; margin:0; padding:6px}\n  .pb-onefield .pb-suggest li{\n    padding:8px 10px; border-radius:8px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;\n  }\n  .pb-onefield .pb-suggest li:hover,\n  .pb-onefield .pb-suggest li.active{background:#f5f7fb}\n  .pb-onefield .pb-suggest .empty{padding:10px; color:#777}\n\u003c\/style\u003e\n\u003cdiv style=\"position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; width: 100vw; font-family: 'Inter',system-ui,Arial,sans-serif; line-height: 1.7; color: #0a0f1e;\" class=\"twocol-tfd31\"\u003e\n\u003cdiv style=\"max-width: 1500px; margin: 0 auto; padding: 5px 24px;\"\u003e\n\u003cdiv class=\"twocol-tfd36\" style=\"position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; width: 100vw; font-family: 'Inter',system-ui,Arial,sans-serif; line-height: 1.7; color: #0a0f1e;\"\u003e\n\u003cdiv style=\"max-width: 1500px; margin: 0 auto; padding: 40px 24px;\"\u003e\n\u003cdiv style=\"margin-top: 5px; padding: 14px; border: 1px solid #eee; border-radius: 12px; background: #fafafa; font: 14px\/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color: #111;\" class=\"pb-onefield\"\u003e\n\u003ch4\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003ch4 style=\"text-align: center; font-size: 22px; font-weight: bold; margin-bottom: 8px;\"\u003ePower Bank Quick Calculator\u003c\/h4\u003e\n\u003c!-- 唯一输入：机型（左侧箭头，点击展开\/收起） --\u003e \u003clabel\u003eSelect Your Phone model\u003c\/label\u003e\n\u003cdiv aria-expanded=\"false\" aria-haspopup=\"listbox\" role=\"combobox\" class=\"pb-left-caret\"\u003e\n\u003cbutton aria-label=\"Open models\" class=\"pb-caret-btn\" type=\"button\"\u003e▾\u003c\/button\u003e \u003cinput aria-controls=\"pb-suggest-list\" aria-autocomplete=\"list\" autocomplete=\"off\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" id=\"pb-phone-model\" type=\"text\"\u003e\n\u003cdiv role=\"listbox\" id=\"pb-suggest\" class=\"pb-suggest\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv aria-live=\"polite\" class=\"kpis\"\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003ePowerBank capacity\u003c\/span\u003e\u003cb id=\"pb-capacity\"\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003eMax output\u003c\/span\u003e\u003cb id=\"pb-maxw\"\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003eFull recharges\u003c\/span\u003e\u003cb\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003eSpeed\u003c\/span\u003e\u003cb\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003eUsable energy\u003c\/span\u003e\u003cb\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pill\"\u003e\n\u003cspan\u003eAirline safe?\u003c\/span\u003e\u003cb\u003e—\u003c\/b\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: none;\" class=\"msg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"note\"\u003e* Based on typical phone specs. Real-world results vary with cable\/adapter, temperature, and settings.\u003c\/div\u003e\n\u003cscript\u003e\n  (function(){\n    var box = document.currentScript.parentElement; if(!box || box.__ready) return; box.__ready = true;\n\n    \/\/ 🔧 移动电源默认参数\n    const CONFIG = { powerBank:{ mAh:25000, cellV:3.7, outputW:130, usable:0.72, airlineWhLimit:100 }, defaultDevV:3.85 };\n\n    \/\/ 📚 机型数据库（可继续扩展）\n    const PHONE_DB = {\n\n  \/* ============================\n   *       APPLE iPHONE\n   * ============================ *\/\n\n  \"Apple iPhone 17\":{ mAh:3450, w:27 },\n  \"Apple iPhone 17 Plus\":{ mAh:4550, w:27 },\n  \"Apple iPhone 17 Pro\":{ mAh:3350, w:27 },\n  \"Apple iPhone 17 Pro Max\":{ mAh:4500, w:27 },\n\n  \"Apple iPhone 16\":{ mAh:3340, w:27 },\n  \"Apple iPhone 16 Plus\":{ mAh:4380, w:27 },\n  \"Apple iPhone 16 Pro\":{ mAh:3270, w:27 },\n  \"Apple iPhone 16 Pro Max\":{ mAh:4420, w:27 },\n\n  \"Apple iPhone 15\":{ mAh:3349, w:27 },\n  \"Apple iPhone 15 Plus\":{ mAh:4383, w:27 },\n  \"Apple iPhone 15 Pro\":{ mAh:3274, w:27 },\n  \"Apple iPhone 15 Pro Max\":{ mAh:4422, w:27 },\n\n  \"Apple iPhone 14\":{ mAh:3279, w:27 },\n  \"Apple iPhone 14 Plus\":{ mAh:4323, w:27 },\n  \"Apple iPhone 14 Pro\":{ mAh:3200, w:27 },\n  \"Apple iPhone 14 Pro Max\":{ mAh:4323, w:27 },\n\n  \"Apple iPhone 13 mini\":{ mAh:2438, w:20 },\n  \"Apple iPhone 13\":{ mAh:3227, w:20 },\n  \"Apple iPhone 13 Pro\":{ mAh:3095, w:23 },\n  \"Apple iPhone 13 Pro Max\":{ mAh:4352, w:27 },\n\n  \"Apple iPhone 12 mini\":{ mAh:2227, w:20 },\n  \"Apple iPhone 12\":{ mAh:2815, w:20 },\n  \"Apple iPhone 12 Pro\":{ mAh:2815, w:20 },\n  \"Apple iPhone 12 Pro Max\":{ mAh:3687, w:22 },\n\n  \"Apple iPhone 11\":{ mAh:3110, w:18 },\n  \"Apple iPhone 11 Pro\":{ mAh:3046, w:18 },\n  \"Apple iPhone 11 Pro Max\":{ mAh:3969, w:18 },\n\n  \"Apple iPhone XS\":{ mAh:2658, w:18 },\n  \"Apple iPhone XS Max\":{ mAh:3174, w:18 },\n  \"Apple iPhone XR\":{ mAh:2942, w:18 },\n\n  \"Apple iPhone X\":{ mAh:2716, w:18 },\n\n  \"Apple iPhone 8\":{ mAh:1821, w:15 },\n  \"Apple iPhone 8 Plus\":{ mAh:2691, w:15 },\n\n  \"Apple iPhone 7\":{ mAh:1960, w:12 },\n  \"Apple iPhone 7 Plus\":{ mAh:2900, w:12 },\n\n  \"Apple iPhone 6s\":{ mAh:1715, w:10 },\n  \"Apple iPhone 6s Plus\":{ mAh:2750, w:10 },\n\n  \"Apple iPhone 6\":{ mAh:1810, w:10 },\n  \"Apple iPhone 6 Plus\":{ mAh:2915, w:10 },\n\n  \"Apple iPhone SE (2022)\":{ mAh:2018, w:18 },\n  \"Apple iPhone SE (2020)\":{ mAh:1821, w:18 },\n\n\n  \/* ============================\n   *        SAMSUNG GALAXY\n   * ============================ *\/\n\n  \"Samsung Galaxy S24\":{ mAh:4000, w:25 },\n  \"Samsung Galaxy S24+\":{ mAh:4900, w:45 },\n  \"Samsung Galaxy S24 Ultra\":{ mAh:5000, w:45 },\n\n  \"Samsung Galaxy S23\":{ mAh:3900, w:25 },\n  \"Samsung Galaxy S23+\":{ mAh:4700, w:45 },\n  \"Samsung Galaxy S23 Ultra\":{ mAh:5000, w:45 },\n\n  \"Samsung Galaxy S22\":{ mAh:3700, w:25 },\n  \"Samsung Galaxy S22+\":{ mAh:4500, w:45 },\n  \"Samsung Galaxy S22 Ultra\":{ mAh:5000, w:45 },\n\n  \"Samsung Galaxy S21\":{ mAh:4000, w:25 },\n  \"Samsung Galaxy S21+\":{ mAh:4800, w:25 },\n  \"Samsung Galaxy S21 Ultra\":{ mAh:5000, w:25 },\n\n  \"Samsung Galaxy S20\":{ mAh:4000, w:25 },\n  \"Samsung Galaxy S20+\":{ mAh:4500, w:25 },\n  \"Samsung Galaxy S20 Ultra\":{ mAh:5000, w:45 },\n\n  \"Samsung Galaxy S10\":{ mAh:3400, w:15 },\n  \"Samsung Galaxy S10+\":{ mAh:4100, w:15 },\n  \"Samsung Galaxy S10e\":{ mAh:3100, w:15 },\n\n  \"Samsung Galaxy Note20\":{ mAh:4300, w:25 },\n  \"Samsung Galaxy Note20 Ultra\":{ mAh:4500, w:25 },\n  \"Samsung Galaxy Note10\":{ mAh:3500, w:25 },\n  \"Samsung Galaxy Note10+\":{ mAh:4300, w:45 },\n\n  \"Samsung Galaxy Z Flip5\":{ mAh:3700, w:25 },\n  \"Samsung Galaxy Z Fold5\":{ mAh:4400, w:25 },\n  \"Samsung Galaxy Z Flip4\":{ mAh:3700, w:25 },\n  \"Samsung Galaxy Z Fold4\":{ mAh:4400, w:25 },\n\n  \"Samsung Galaxy A55\":{ mAh:5000, w:25 },\n  \"Samsung Galaxy A54\":{ mAh:5000, w:25 },\n  \"Samsung Galaxy A53\":{ mAh:5000, w:25 },\n  \"Samsung Galaxy A34\":{ mAh:5000, w:25 },\n  \"Samsung Galaxy A24\":{ mAh:5000, w:25 },\n  \"Samsung Galaxy A14\":{ mAh:5000, w:15 },\n\n\n  \/* ============================\n   *         GOOGLE PIXEL\n   * ============================ *\/\n\n  \"Google Pixel 9 Pro\":{ mAh:null, w:30 },\n  \"Google Pixel 9\":{ mAh:null, w:30 },\n\n  \"Google Pixel 8 Pro\":{ mAh:5050, w:30 },\n  \"Google Pixel 8\":{ mAh:4575, w:27 },\n\n  \"Google Pixel 7 Pro\":{ mAh:5000, w:30 },\n  \"Google Pixel 7\":{ mAh:4355, w:20 },\n\n  \"Google Pixel 6 Pro\":{ mAh:5003, w:30 },\n  \"Google Pixel 6\":{ mAh:4614, w:30 },\n\n  \"Google Pixel 5\":{ mAh:4080, w:18 },\n  \"Google Pixel 4 XL\":{ mAh:3700, w:18 },\n  \"Google Pixel 4\":{ mAh:2800, w:18 },\n\n  \"Google Pixel 3 XL\":{ mAh:3430, w:18 },\n  \"Google Pixel 3\":{ mAh:2915, w:18 },\n\n  \"Google Pixel 2 XL\":{ mAh:3520, w:18 },\n  \"Google Pixel 2\":{ mAh:2700, w:18 },\n\n  \"Google Pixel XL\":{ mAh:3450, w:18 },\n  \"Google Pixel\":{ mAh:2770, w:18 },\n\n\n  \/* ============================\n   *           ONEPLUS\n   * ============================ *\/\n\n  \"OnePlus 12\":{ mAh:5400, w:80 },\n  \"OnePlus 11\":{ mAh:5000, w:80 },\n  \"OnePlus 10 Pro\":{ mAh:5000, w:80 },\n  \"OnePlus 10T\":{ mAh:4800, w:80 },\n\n  \"OnePlus 9 Pro\":{ mAh:4500, w:65 },\n  \"OnePlus 9\":{ mAh:4500, w:65 },\n\n  \"OnePlus 8 Pro\":{ mAh:4510, w:30 },\n  \"OnePlus 8T\":{ mAh:4500, w:65 },\n\n  \"OnePlus Nord 3\":{ mAh:5000, w:80 },\n  \"OnePlus Nord 2T\":{ mAh:4500, w:80 },\n\n\n  \/* ============================\n   *            OPPO\n   * ============================ *\/\n\n  \"OPPO Find X7\":{ mAh:5000, w:80 },\n  \"OPPO Find X6\":{ mAh:5000, w:80 },\n  \"OPPO Find X5 Pro\":{ mAh:5000, w:80 },\n\n  \"OPPO Reno 12\":{ mAh:5000, w:67 },\n  \"OPPO Reno 11\":{ mAh:5000, w:67 },\n  \"OPPO Reno 10 Pro\":{ mAh:4600, w:80 },\n  \"OPPO Reno 10\":{ mAh:5000, w:67 },\n  \"OPPO Reno 9 Pro+\":{ mAh:4700, w:80 },\n  \"OPPO Reno 8 Pro\":{ mAh:4500, w:80 },\n  \"OPPO Reno 8\":{ mAh:4500, w:80 },\n\n  \"OPPO A98\":{ mAh:5000, w:67 },\n  \"OPPO A78\":{ mAh:5000, w:33 },\n\n\n  \/* ============================\n   *         XIAOMI \/ REDMI\n   * ============================ *\/\n\n  \"Xiaomi 14\":{ mAh:4610, w:90 },\n  \"Xiaomi 14 Pro\":{ mAh:4880, w:120 },\n\n  \"Xiaomi 13\":{ mAh:4500, w:67 },\n  \"Xiaomi 13 Pro\":{ mAh:4820, w:120 },\n\n  \"Xiaomi 12\":{ mAh:4500, w:67 },\n  \"Xiaomi 12 Pro\":{ mAh:4600, w:120 },\n\n  \"Xiaomi 12T\":{ mAh:5000, w:120 },\n  \"Xiaomi 13T\":{ mAh:5000, w:67 },\n\n  \"Redmi Note 13 Pro+\":{ mAh:5000, w:120 },\n  \"Redmi Note 13 Pro\":{ mAh:5100, w:67 },\n  \"Redmi Note 13\":{ mAh:5000, w:33 },\n\n  \"Redmi Note 12 Pro+\":{ mAh:5000, w:120 },\n  \"Redmi Note 12 Pro\":{ mAh:5000, w:67 },\n  \"Redmi Note 12\":{ mAh:5000, w:33 },\n\n  \"Redmi Note 11 Pro\":{ mAh:5160, w:67 },\n  \"Redmi Note 11\":{ mAh:5000, w:33 },\n\n\n  \/* ============================\n   *            HUAWEI\n   * ============================ *\/\n\n  \"Huawei P60 Pro\":{ mAh:4815, w:66 },\n  \"Huawei P50 Pro\":{ mAh:4360, w:66 },\n  \"Huawei P40 Pro\":{ mAh:4200, w:40 },\n  \"Huawei P30 Pro\":{ mAh:4200, w:40 },\n\n  \"Huawei Mate 50 Pro\":{ mAh:4700, w:66 },\n  \"Huawei Mate 40 Pro\":{ mAh:4400, w:66 },\n  \"Huawei Mate 30 Pro\":{ mAh:4500, w:40 },\n\n\n  \/* ============================\n   *             vivo\n   * ============================ *\/\n\n  \"vivo X100 Pro\":{ mAh:5400, w:100 },\n  \"vivo X100\":{ mAh:5000, w:120 },\n  \"vivo X90 Pro+\":{ mAh:4700, w:80 },\n  \"vivo X90 Pro\":{ mAh:4870, w:120 },\n  \"vivo X80 Pro\":{ mAh:4700, w:80 },\n  \"vivo V30 Pro\":{ mAh:5000, w:80 },\n\n\n  \/* ============================\n   *             SONY\n   * ============================ *\/\n\n  \"Sony Xperia 1 VI\":{ mAh:5000, w:30 },\n  \"Sony Xperia 1 V\":{ mAh:5000, w:30 },\n  \"Sony Xperia 5 V\":{ mAh:5000, w:30 },\n  \"Sony Xperia 10 VI\":{ mAh:5000, w:30 },\n  \"Sony Xperia 10 V\":{ mAh:5000, w:30 },\n  \"Sony Xperia Pro-I\":{ mAh:4500, w:30 },\n\n\n  \/* ============================\n   *   Nothing \/ Realme \/ Honor\n   * ============================ *\/\n\n  \"Nothing Phone (2)\":{ mAh:4700, w:45 },\n  \"Nothing Phone (1)\":{ mAh:4500, w:33 },\n\n  \"realme GT 5 Pro\":{ mAh:5400, w:100 },\n  \"realme 12 Pro+\":{ mAh:5000, w:67 },\n\n  \"HONOR Magic6 Pro\":{ mAh:5600, w:80 },\n  \"HONOR 90\":{ mAh:5000, w:66 }\n\n};\n\n    \/\/ ====== 自定义下拉（替代 datalist） ======\n    const input = box.querySelector('#pb-phone-model');\n    const wrap  = box.querySelector('.pb-left-caret');\n    const panel = box.querySelector('#pb-suggest');\n    const list  = box.querySelector('#pb-suggest-list');\n    const caret = wrap.querySelector('.pb-caret-btn');\n    const names = Object.keys(PHONE_DB);\n    const N_MAX = 200;\n    let activeIndex = -1;\n    let suppressClose = false;   \/\/ ⛔ 抑制 blur 关闭（解决箭头点击被关）\n    let lastSelected = '';       \/\/ ✅ 记录“已选中”的机型\n\n    const INIT_MSG = 'Select your phone model to estimate full recharges and speed.';\n\n    function renderOptions(filter){\n      const q = (filter||'').trim().toLowerCase();\n      const data = names.filter(n =\u003e !q || n.toLowerCase().includes(q)).slice(0,N_MAX);\n      list.innerHTML='';\n      if(data.length===0){ list.innerHTML='\u003cli class=\"empty\" aria-disabled=\"true\"\u003eNo matches\u003c\/li\u003e'; return; }\n      data.forEach((name,i)=\u003e{\n        const li=document.createElement('li');\n        li.textContent=name; li.setAttribute('role','option');\n        li.addEventListener('mousedown', e=\u003e{ e.preventDefault(); selectName(name); });\n        list.appendChild(li);\n      });\n      activeIndex=-1;\n    }\n    function openPanel(){\n      renderOptions(input.value);\n      panel.classList.add('open'); wrap.setAttribute('aria-expanded','true');\n    }\n    function closePanel(){\n      panel.classList.remove('open'); wrap.setAttribute('aria-expanded','false');\n      activeIndex=-1; Array.from(list.children).forEach(li=\u003eli.classList.remove('active'));\n    }\n    function moveActive(step){\n      const items=Array.from(list.querySelectorAll('li:not(.empty)')); if(!items.length) return;\n      activeIndex=(activeIndex+step+items.length)%items.length;\n      items.forEach((li,idx)=\u003eli.classList.toggle('active', idx===activeIndex));\n      const li=items[activeIndex], rTop=li.offsetTop, rBot=rTop+li.offsetHeight;\n      if(rTop \u003c panel.scrollTop) panel.scrollTop=rTop;\n      else if(rBot \u003e panel.scrollTop+panel.clientHeight) panel.scrollTop=rBot-panel.clientHeight;\n    }\n    function selectActive(){\n      const items=Array.from(list.querySelectorAll('li:not(.empty)'));\n      if(activeIndex\u003e=0 \u0026\u0026 activeIndex\u003citems.length){ selectName(items[activeIndex].textContent); }\n    }\n    function selectName(name){\n      input.value=name;\n      lastSelected = name;       \/\/ ✅ 标记为“已选中”的有效机型\n      closePanel();\n      calcByModel(name);\n    }\n\n    \/\/ 👉 箭头按下：抑制 blur 关闭；并切换下拉\n    caret.addEventListener('pointerdown', e=\u003e{\n      suppressClose = true;\n      input.focus({preventScroll:true});\n      e.preventDefault();\n    });\n    caret.addEventListener('click', e=\u003e{\n      if(panel.classList.contains('open')) closePanel(); else openPanel();\n      setTimeout(()=\u003e{ suppressClose=false; }, 200);\n    });\n\n    \/\/ === 新增：统一重置到初始状态 ===\n    function resetUI(){\n      const k=box.querySelectorAll('.kpis .pill b');\n      const pb = CONFIG.powerBank;\n      const pbWh=((pb.mAh*pb.cellV\/1000)*pb.usable);\n\n      \/\/ 固定显示：容量、最大输出、Wh、是否航空可携\n      box.querySelector('#pb-capacity').textContent = pb.mAh + ' mAh';\n      box.querySelector('#pb-maxw').textContent    = pb.outputW + ' W';\n\n      const base=2;\n      k[base+0].textContent = '—';                \/\/ Full recharges\n      k[base+1].textContent = '—';                \/\/ Speed\n      k[base+2].textContent = pbWh.toFixed(1)+' Wh';\n      k[base+3].textContent = (pbWh\u003cpb.airlineWhLimit)?'✔ YES':'❌ NO';\n\n      const msg=box.querySelector('.msg');\n      msg.style.display='block'; msg.className='msg warn';\n      msg.textContent = INIT_MSG;\n    }\n\n    \/\/ 输入过滤与交互（空值\/无匹配 ⇒ 立刻重置）\n    input.addEventListener('focus', ()=\u003e{ openPanel(); });\n\n    input.addEventListener('input', ()=\u003e{\n      const v = input.value.trim();\n      \/\/ 打开并实时过滤\n      if(!panel.classList.contains('open')) openPanel(); else renderOptions(v);\n\n      \/\/ 若为空或不是一个“已知机型的精确匹配”，并且此前展示过结果 ⇒ 重置\n      if(v==='' || !PHONE_DB[v]){\n        resetUI();\n        lastSelected = ''; \/\/ 取消已选状态\n      }\n    });\n\n    input.addEventListener('blur', ()=\u003e{\n      setTimeout(()=\u003e{\n        const active = document.activeElement;\n        if(suppressClose) return;\n        if(wrap.contains(active)) return;\n        closePanel();\n\n        \/\/ 失焦后做一次兜底校验\n        const v = input.value.trim();\n        if(v==='' || !PHONE_DB[v]){\n          resetUI();\n          lastSelected = '';\n        }else if(v!==lastSelected){\n          \/\/ 如果直接手输成了某个精确可识别机型，也允许计算\n          lastSelected = v;\n          calcByModel(v);\n        }\n      }, 0);\n    });\n\n    \/\/ 键盘导航（桌面）\n    input.addEventListener('keydown', e=\u003e{\n      if(!panel.classList.contains('open')) return;\n      if(e.key==='ArrowDown'){ e.preventDefault(); moveActive(1); }\n      else if(e.key==='ArrowUp'){ e.preventDefault(); moveActive(-1); }\n      else if(e.key==='Enter'){ e.preventDefault(); selectActive(); }\n      else if(e.key==='Escape'){ e.preventDefault(); closePanel(); }\n    });\n\n    \/\/ 点击外部关闭（移动端\/桌面）\n    document.addEventListener('pointerdown', (e)=\u003e{\n      if(!box.contains(e.target)) closePanel();\n    });\n\n    \/\/ ====== 计算逻辑 ======\n    function calcByModel(modelName){\n      const msg = box.querySelector('.msg');\n      const k = box.querySelectorAll('.kpis .pill b');\n      const spec = PHONE_DB[modelName];\n\n      \/\/ 🔁 如果不存在（不在数据库）⇒ 直接回到初始状态（不再显示“未知机型”告警）\n      if(!spec){ resetUI(); return; }\n\n      const pb_mAh=CONFIG.powerBank.mAh, pb_V=CONFIG.powerBank.cellV, pb_usable=CONFIG.powerBank.usable, pb_outputW=CONFIG.powerBank.outputW, limitWh=CONFIG.powerBank.airlineWhLimit;\n      const dev_mAh=(spec.mAh \u0026\u0026 spec.mAh\u003e0)? spec.mAh : null, dev_W=(spec.w \u0026\u0026 spec.w\u003e0)? spec.w : 20, dev_V=spec.v || CONFIG.defaultDevV;\n\n      const pbWh=(pb_mAh*pb_V\/1000)*pb_usable, dWh=dev_mAh?(dev_mAh*dev_V\/1000):NaN, times=(pbWh\u003e0\u0026\u0026isFinite(dWh))?(pbWh\/dWh):NaN;\n      const effW=Math.min(pb_outputW,dev_W), speed=!isFinite(effW)||effW\u003c=0?'—':(effW\u003c10?'Slow':effW\u003c20?'Standard':effW\u003c30?'Fast':'Super Fast');\n      const safe=pbWh\u003e0?(pbWh\u003climitWh?'✔ YES':'❌ NO'):'—';\n\n      box.querySelector('#pb-capacity').textContent = pb_mAh + ' mAh';\n      box.querySelector('#pb-maxw').textContent    = pb_outputW + ' W';\n\n      const base=2;\n      k[base+0].textContent = isFinite(times)? (times.toFixed(1)+'×') : '—';\n      k[base+1].textContent = speed;\n      k[base+2].textContent = pbWh.toFixed(1)+' Wh';\n      k[base+3].textContent = safe;\n\n      msg.style.display='block';\n      if(!dev_mAh){\n        msg.className='msg warn';\n        msg.innerHTML='Typical fast-charge power applied. Battery capacity for this model is not finalized; results are approximate.';\n      }else if(times\u003c1){\n        msg.className='msg warn';\n        msg.innerHTML='Less than \u003cb\u003e1 full recharge\u003c\/b\u003e — consider 10,000 mAh or 20,000 mAh.';\n      }else if(times\u003c2){\n        msg.className='msg';\n        msg.innerHTML='Around \u003cb\u003e'+times.toFixed(1)+'\u003c\/b\u003e full charges — great for daily top-ups.';\n      }else{\n        msg.className='msg';\n        msg.innerHTML='About \u003cb\u003e'+times.toFixed(1)+'\u003c\/b\u003e full charges — ideal for travel\/all-day use.';\n      }\n    }\n\n    \/\/ 初始展示（封装为 resetUI）\n    (function init(){ resetUI(); })();\n  })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003c!-- \/One-Field Power Bank Calculator · Left-Caret (reset on empty\/unknown) --\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-2.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-1.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-3.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-4.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-5.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-6.jpg?v=1729561165\" alt=\"\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.image-container {\ntext-align: center;\nmargin: 20px auto;\npadding: 10px;\nmax-width: 1000px; \/* 控制最大宽度避免图片过宽 *\/\n}\n\n.image-container img {\ndisplay: inline-block;\nwidth: auto;\nheight: auto;\nmax-width: 100%;\nborder-radius: 8px; \/* 可选美化效果 *\/\nbox-shadow: 0 2px 6px rgba(0,0,0,0.1); \/* 可选美化效果 *\/\n}\n\n@media (max-width: 768px) {\n.image-container {\npadding: 5px;\nmargin: 10px 0;\n}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"twocol-tfd31\" style=\"position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; width: 100vw; font-family: 'Inter',system-ui,Arial,sans-serif; line-height: 1.7; color: #0a0f1e;\"\u003e\n\u003cdiv style=\"max-width: 1500px; margin: 0 auto; padding: 5px 24px;\"\u003e\n\u003cdiv style=\"position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; width: 100vw; font-family: 'Inter',system-ui,Arial,sans-serif; line-height: 1.7; color: #0a0f1e;\" class=\"twocol-tfd36\"\u003e\n\u003cdiv style=\"max-width: 1500px; margin: 0 auto; padding: 40px 24px;\"\u003e\n\u003ch2 style=\"text-align: center;\"\u003e\u003cspan style=\"color: rgb(3, 11, 76);\"\u003e2 Lazy 2 Decide\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003cbr\u003e✅ \u003cstrong\u003e130W Nuclear Output: \u003c\/strong\u003ePD3.0 + QC4+ delivers 50% MacBook Pro 14” charge in 35 mins —ideal for power-hungry creators and gamers.\u003cbr\u003e✅ \u003cstrong\u003e25000mAh Beast Mode: \u003c\/strong\u003eCharges MacBook Pro 1.5 times or iPhone 14 five times.\u003cbr\u003e✅ \u003cstrong\u003eTurbo Self-Recharge:\u003c\/strong\u003e 0-100% in 1.5 hours with 65W input (included cable).\u003cbr\u003e✅ \u003cstrong\u003eSmart Digital Dashboard: \u003c\/strong\u003eLED screen shows real-time wattage, % remaining, and charging status.\u003cbr\u003e✅ \u003cstrong\u003eTriple-Device Supercharger:\u003c\/strong\u003e 2×100W USB-C + 1×30W USB-A (130W total) powers laptop + tablet + earbuds simultaneously—beats RAVPower’s 90W max output.\u003cbr\u003e✅ \u003cstrong\u003eLow-Current Savior: \u003c\/strong\u003eAI SpeedLock auto-detects tiny devices (AirPods, Galaxy Watch 6) for safe 5W charging.\u003cbr\u003e✅\u003cstrong\u003e Flight-Ready Safety: \u003c\/strong\u003eUL + UN38.3 certified (92.5Wh) with 9-layer protection.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWatch Outs\u003c\/strong\u003e\u003cbr\u003e⚠️ \u003cstrong\u003eHeat Throttling at 130W: \u003c\/strong\u003eSimultaneous laptop + tablet charging raises temp to 55°C—disable one port for sustained 100W output.\u003cbr\u003e⚠️ \u003cstrong\u003eHeavyweight Design: \u003c\/strong\u003e460g—bulky for casual carry.\u003cbr\u003e⚠️\u003cstrong\u003e No Wireless Charging: \u003c\/strong\u003eRequires cables for all devices.\u003cbr\u003e⚠️\u003cstrong\u003e 65W Charger Not Included: \u003c\/strong\u003eBuy a separate GaN charger.\u003cbr\u003e⚠️ \u003cstrong\u003eUSB-A Port Bottleneck: \u003c\/strong\u003eLimited to 30W (vs. USB-C’s 100W)—avoid for modern laptops needing \u0026gt;45W.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2 style=\"text-align: center;\"\u003e\u003cspan style=\"color: rgb(0, 8, 69);\"\u003e\u003cstrong\u003e2 Lazy 2 Search\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch3\u003eProduct Specification\u003c\/h3\u003e\n\u003cp\u003eBrand: MOVE SPEED\u003c\/p\u003e\n\u003cp\u003eModel: YSPBM25\u003c\/p\u003e\n\u003cp\u003eColour: Silver\u003c\/p\u003e\n\u003cp\u003eBattery Type: Polymer lithium battery\u003c\/p\u003e\n\u003cp\u003eSingle Output:\u003c\/p\u003e\n\u003cp\u003eType C1 Output Only: 100W\u003c\/p\u003e\n\u003cp\u003eType C2 Output Only: 100W\u003c\/p\u003e\n\u003cp\u003eUSB-A Output Only: 22.5W\u003c\/p\u003e\n\u003cp\u003eDual ports Output:\u003c\/p\u003e\n\u003cp\u003eType C1 + C2：65W + 65W\u003c\/p\u003e\n\u003cp\u003eType C1 + USB-A: 65W + 22.5W\u003c\/p\u003e\n\u003cp\u003eType C2+ USB-A: Max 15W（two ports in total max 15w）\u003c\/p\u003e\n\u003cp\u003eTriple ports Output: Type C1 + C2 + USB-A: 100W + 15W(Type C2 + USB-A)\u003c\/p\u003e\n\u003ch2\u003e\u003cbr\u003e\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCompatibility (Type-C)\u003c\/h2\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/Compatibility_Type-C_6.png?v=1744341917\"\u003e\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eNotes:\u003c\/p\u003e\n\u003cp\u003e1. Charging Cables for compatible devices may not be included and must be purchased separately\u003c\/p\u003e\n\u003cp\u003e2. The maximum charging power of a device varies depending on the charging protocols supported which is different from the maximum charging power of the power bank\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003e\u003cspan\u003eWhat's in the Box\u003c\/span\u003e\u003c\/h2\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV-7.jpg?v=1729561164\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003ePower Bank x 1\u003c\/li\u003e\n\u003cli\u003e100W Type-C to Type-C Cable x 1\u003c\/li\u003e\n\u003cli\u003eUser's Guide x 1\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Movespeed","offers":[{"title":"Silver","offer_id":48431640248561,"sku":"YSPBM25-SLV","price":94.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/YSPBM25-SLV.jpg?v=1729561165","url":"https:\/\/2lazy.com.au\/products\/movespeed-energy-planet-25k-145w-power-bank","provider":"2 Lazy Tech","version":"1.0","type":"link"}