{"title":"New products","description":null,"products":[{"product_id":"iquick-img1-magnetic-wireless-car-mount","title":"iQuick iMG1 Magnetic Pad Air-vent Car Mount 15W","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:150px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* ✅ Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:120px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eNeodymium Magnetic Hold (Stable)\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003ePowerful neodymium magnets keep your phone firmly attached, helping prevent slips and wobble during daily driving.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eAir-Vent Hook Locking Design\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eUnique hook structure grips the air vent tightly for reliable stability—especially useful on bumpy roads or stop-start traffic.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eFast Charging with Heat Management\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eIntelligent heat management supports efficient charging performance—designed to deliver speeds close to official MagSafe-style charging.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eReal One-Hand Operation\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSnap your phone on and off effortlessly with one hand—perfect for quick errands and daily commute convenience.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eUniversal Compatibility (Most Phones)\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned to hold most smartphones securely. Includes a magnetic ring for non-magnetic cases to improve attachment strength.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv aria-label=\"Product Specifications\" role=\"table\" class=\"lazy-spec\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eiQuick iMG1 Magnetic Car Mount (Air Vent)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eBrand:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eiQuick\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eModel No.:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eiMG1\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eColour:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBlack\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMaterial:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eABS + Rubber\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eInput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e12V⎓1.5A; 9V⎓2A; 5V⎓2A\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eOutput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e9V⎓1.67A; 9V⎓1.12A; 5V⎓1A\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMount Type:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eAir Vent Hook\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003e\u003cstrong\u003eIn the box:\u003c\/strong\u003e iMG1 Car Mount × 1 · Air-vent Hook × 1 · Type-C Cable × 1 · MRing 1 Magnetic Ring × 1 · Installation Guide × 1\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder (Centered) --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003eA+ Content Area\u003c\/h3\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-3_8960b384-8010-432a-ba3f-5c32976e2e5a.jpg?v=1767612398\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-4_8e6072c8-15ed-4b99-b095-b9e294dfe2ae.jpg?v=1767612398\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-6_ea735fc7-0929-4da8-bf76-f452d8d7fe32.jpg?v=1767612398\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-5_f24bc457-11d1-4242-bee8-0a8ab3e46418.jpg?v=1767612398\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-7_b07e917f-9c0f-4c90-94c9-080a91170752.jpg?v=1767612398\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"IQUICK","offers":[{"title":"Default Title","offer_id":44135087440113,"sku":"IQUICK-iMG1","price":58.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/img1-1_2ce4e59b-e662-45fe-b6b0-dbf9798c015f.jpg?v=1767612398"},{"product_id":"rechargeable-led-desk-lamp-adjustable-colour-temperature","title":"Baseus Smart Eye Series Charging Folding Reading Desk Lamp (Smart Light)","description":"\u003cstyle\u003e\n  .lazy-product-section {\n    font-family: Inter, Arial, sans-serif;\n    color: #1f1f1f;\n    line-height: 1.7;\n    max-width: 1500px;\n    margin: 0 auto;\n    padding: 24px;\n  }\n\n  .lazy-product-hero {\n    background: #f8f3eb;\n    border-radius: 18px;\n    padding: 36px 28px;\n    box-shadow: 0 6px 20px rgba(0,0,0,0.06);\n    margin-bottom: 28px;\n    text-align: center;\n  }\n\n  .lazy-product-hero h2 {\n    color: #150660;\n    font-size: 32px;\n    margin: 0 0 12px;\n    line-height: 1.25;\n  }\n\n  .lazy-subtitle {\n    font-size: 18px;\n    font-weight: 600;\n    color: #150660;\n    margin: 0 0 16px;\n  }\n\n  .lazy-product-hero p {\n    max-width: 900px;\n    margin: 0 auto;\n    font-size: 16px;\n  }\n\n  .lazy-badge-wrap {\n    display: flex;\n    justify-content: center;\n    margin: 22px 0 0;\n  }\n\n  .lazy-badge {\n    display: inline-block;\n    background: #150660;\n    color: #ffffff;\n    font-size: 13px;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    padding: 8px 16px;\n    border-radius: 999px;\n    box-shadow: 0 5px 14px rgba(21,6,96,0.18);\n  }\n\n  .lazy-aplus-section {\n    margin: 28px 0 34px;\n  }\n\n  .lazy-aplus-title {\n    text-align: center;\n    margin-bottom: 20px;\n  }\n\n  .lazy-aplus-title h3 {\n    color: #150660;\n    font-size: 26px;\n    margin: 0 0 8px;\n  }\n\n  .lazy-aplus-title p {\n    margin: 0 auto;\n    max-width: 780px;\n    font-size: 15.5px;\n    color: #444444;\n  }\n\n  .lazy-aplus-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px;\n  }\n\n  .lazy-aplus-card {\n    background: #ffffff;\n    border-radius: 18px;\n    overflow: hidden;\n    box-shadow: 0 6px 20px rgba(0,0,0,0.07);\n    border: 1px solid #eeeeee;\n  }\n\n  .lazy-aplus-card.feature-wide {\n    grid-column: span 2;\n  }\n\n  .lazy-aplus-image {\n    width: 100%;\n    display: block;\n    background: #f8f3eb;\n  }\n\n  .lazy-aplus-caption {\n    padding: 16px 18px 18px;\n    background: #ffffff;\n  }\n\n  .lazy-aplus-caption strong {\n    display: block;\n    color: #150660;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .lazy-aplus-caption span {\n    font-size: 14.5px;\n    color: #444444;\n  }\n\n  .lazy-two-column {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 24px;\n    margin-top: 24px;\n  }\n\n  .lazy-card {\n    border-radius: 18px;\n    padding: 28px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.06);\n  }\n\n  .lazy-card.decide {\n    background: #f8f3eb;\n  }\n\n  .lazy-card.search {\n    background: #ffffff;\n    border: 1px solid #eeeeee;\n  }\n\n  .lazy-card h3 {\n    color: #150660;\n    font-size: 26px;\n    margin: 0 0 16px;\n    line-height: 1.3;\n  }\n\n  .lazy-card ul {\n    padding-left: 20px;\n    margin: 0;\n  }\n\n  .lazy-card li {\n    margin-bottom: 10px;\n    font-size: 15.5px;\n  }\n\n  .lazy-spec-table {\n    width: 100%;\n    border-collapse: collapse;\n    margin-top: 12px;\n    font-size: 15px;\n  }\n\n  .lazy-spec-table td {\n    padding: 10px 0;\n    border-bottom: 1px solid #eeeeee;\n    vertical-align: top;\n  }\n\n  .lazy-spec-table td:first-child {\n    font-weight: 700;\n    color: #150660;\n    width: 42%;\n    padding-right: 12px;\n  }\n\n  .lazy-highlight {\n    background: #ffffff;\n    border-radius: 14px;\n    padding: 18px;\n    margin-top: 22px;\n    border: 1px solid rgba(21,6,96,0.08);\n  }\n\n  .lazy-highlight strong {\n    color: #150660;\n  }\n\n  @media (max-width: 768px) {\n    .lazy-product-section {\n      padding: 16px;\n    }\n\n    .lazy-product-hero {\n      padding: 28px 20px;\n      border-radius: 16px;\n    }\n\n    .lazy-product-hero h2 {\n      font-size: 25px;\n    }\n\n    .lazy-subtitle {\n      font-size: 16px;\n    }\n\n    .lazy-product-hero p {\n      font-size: 15px;\n    }\n\n    .lazy-badge {\n      font-size: 12px;\n      padding: 7px 14px;\n    }\n\n    .lazy-aplus-grid {\n      grid-template-columns: 1fr;\n      gap: 16px;\n    }\n\n    .lazy-aplus-card,\n    .lazy-aplus-card.feature-wide {\n      grid-column: span 1;\n      border-radius: 14px;\n    }\n\n    .lazy-aplus-caption {\n      padding: 14px 16px 16px;\n    }\n\n    .lazy-two-column {\n      grid-template-columns: 1fr;\n      gap: 18px;\n    }\n\n    .lazy-card {\n      padding: 22px 18px;\n      border-radius: 16px;\n    }\n\n    .lazy-card h3 {\n      font-size: 22px;\n      text-align: center;\n    }\n\n    .lazy-card li {\n      font-size: 15px;\n    }\n\n    .lazy-spec-table,\n    .lazy-spec-table tbody,\n    .lazy-spec-table tr,\n    .lazy-spec-table td {\n      display: block;\n      width: 100%;\n    }\n\n    .lazy-spec-table td:first-child {\n      width: 100%;\n      border-bottom: none;\n      padding-bottom: 2px;\n    }\n\n    .lazy-spec-table td:last-child {\n      padding-top: 0;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-product-section\"\u003e\n\u003cdiv class=\"lazy-product-hero\"\u003e\n\u003ch2\u003eRechargeable LED Desk Lamp\u003c\/h2\u003e\n\u003cp class=\"lazy-subtitle\"\u003eEye-friendly LED lighting with high colour accuracy, adjustable colour temperature, and cordless rechargeable use.\u003c\/p\u003e\n\u003cp\u003eThis rechargeable LED desk lamp is designed for study, work, reading, and clean desk setups. With 32 LED lamp beads, Ra≥95 colour rendering, three colour temperature options, and a built-in 2200mAh battery, it gives you flexible lighting for focused tasks, night reading, and everyday desktop use.\u003c\/p\u003e\n\u003cdiv class=\"lazy-badge-wrap\"\u003e\u003cspan class=\"lazy-badge\"\u003eEye Comfort\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- A+ IMAGE SECTION - TWO COLUMN \/ 4 MODULES --\u003e\n\u003cdiv class=\"lazy-aplus-section\"\u003e\n\u003cdiv class=\"lazy-aplus-title\"\u003e\n\u003ch3\u003eSmarter Lighting for Reading, Study, and Work\u003c\/h3\u003e\n\u003cp\u003eRectangular light distribution, smart dimming, high colour accuracy, and a compact rechargeable design make this Baseus desk lamp a practical upgrade for any desktop setup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-aplus-grid\"\u003e\n\u003cdiv class=\"lazy-aplus-card\" style=\"text-align: start;\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Baseus rechargeable folding reading desk lamp with rectangular light distribution for desktop lighting\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/EN_0_15_N_A_Reading_Desk_Lamp_Smart_Light_Main_feature_image_eye.jpg?v=1777697985\" class=\"lazy-aplus-image\" style=\"margin-bottom: 16px; float: none;\"\u003e\n\u003cdiv class=\"lazy-aplus-caption\"\u003e\n\u003cstrong\u003eRectangular Light Distribution\u003c\/strong\u003e \u003cspan\u003eDesigned to focus light across the desktop surface, helping illuminate your workspace more evenly for reading, writing, and study.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-aplus-card\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Baseus smart desk lamp with ambient light recognition and automatic dimming\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/EN_0_14_N_A_Reading_Desk_Lamp_Smart_Light_Main_feature_image_eye.jpg?v=1777697985\" class=\"lazy-aplus-image\"\u003e\n\u003cdiv class=\"lazy-aplus-caption\"\u003e\n\u003cstrong\u003eSmart Recognition \u0026amp; Dimming\u003c\/strong\u003e \u003cspan\u003eBuilt-in sensing elements help recognize ambient light and automatically adjust brightness for more comfortable everyday use.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-aplus-card\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Baseus rechargeable folding reading desk lamp with smart dimmer and Ra95 full spectrum lighting\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/EN_0_13_N_A_Reading_Desk_Lamp_Smart_Light_Main_feature_image_eye_1.jpg?v=1777697984\" class=\"lazy-aplus-image\"\u003e\n\u003cdiv class=\"lazy-aplus-caption\"\u003e\n\u003cstrong\u003eRa≥95 Full-Spectrum Lighting\u003c\/strong\u003e \u003cspan\u003eHigh colour rendering helps show colours more naturally, making it better for focused desk work, reading, and long study sessions.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-aplus-card\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Baseus rechargeable desk lamp used on a laptop desk setup for study and office work\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/EN_0_11_N_A_Reading_Desk_Lamp_Smart_Light_Main_feature_image_eye.jpg?v=1777697985\" class=\"lazy-aplus-image\"\u003e\n\u003cdiv class=\"lazy-aplus-caption\"\u003e\n\u003cstrong\u003eClean Desk Setup\u003c\/strong\u003e \u003cspan\u003eCompact and modern in form, this lamp fits naturally into study desks, office workstations, bedside tables, and home setups.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-two-column\"\u003e\n\u003cdiv class=\"lazy-card decide\"\u003e\n\u003ch3\u003e2 Lazy 2 Decide\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eRa≥95 high colour rendering\u003c\/strong\u003e helps show colours more naturally, making it better for reading, writing, studying, and desk work.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree colour temperatures\u003c\/strong\u003e let you switch between 6000K, 4000K, and 3000K lighting for focus, general use, or warmer night reading.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e32 LED lamp beads\u003c\/strong\u003e provide stable lighting for everyday desktop tasks.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in 2200mAh battery\u003c\/strong\u003e supports cordless use, making it easier to move around your desk, bedside, or study area.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUp to around 13 hours in low light\u003c\/strong\u003e gives longer use for gentle ambient lighting or night reading.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eABS + PC + aluminium alloy body\u003c\/strong\u003e balances durability, lightweight structure, and a clean modern look.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"lazy-highlight\"\u003e\n\u003cstrong\u003eBest for:\u003c\/strong\u003e students, office workers, home desks, bedside reading, study rooms, dorm rooms, and anyone who wants flexible rechargeable lighting.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-card search\"\u003e\n\u003ch3\u003e2 Lazy 2 Search\u003c\/h3\u003e\n\u003ctable class=\"lazy-spec-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eABS + PC + Aluminum Alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColour\u003c\/td\u003e\n\u003ctd\u003eWhite \/ Dark Gray\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDesk Lamp Input\u003c\/td\u003e\n\u003ctd\u003eDC 5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Power\u003c\/td\u003e\n\u003ctd\u003e5W Max.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLight Source\u003c\/td\u003e\n\u003ctd\u003eLED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLED Lamp Beads\u003c\/td\u003e\n\u003ctd\u003e32 pcs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColour Rendering Index\u003c\/td\u003e\n\u003ctd\u003eRa≥95\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBattery Capacity\u003c\/td\u003e\n\u003ctd\u003e2200mAh\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColour Temperature\u003c\/td\u003e\n\u003ctd\u003e6000K \/ 4000K \/ 3000K\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-10℃ to 40℃\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Size\u003c\/td\u003e\n\u003ctd\u003e350 × 53 × 382mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNet Weight\u003c\/td\u003e\n\u003ctd\u003e555g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCharging Time\u003c\/td\u003e\n\u003ctd\u003eAbout 3 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWorking Time\u003c\/td\u003e\n\u003ctd\u003eAbout 3 hours in high light \/ about 13 hours in low light\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"White","offer_id":45509682888945,"sku":"DGZG-02","price":68.59,"currency_code":"AUD","in_stock":true},{"title":"Gray","offer_id":45509682921713,"sku":"DGZG-0G","price":68.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_cca8ca67-8c2c-47b6-b30c-e71c4ecbf022.jpg?v=1725935580"},{"product_id":"baseus-ppxj2030-20000mah-power-bank-60w","title":"Baseus Star-Lord 20K 30W 4-Port Power Bank with Digital Display","description":"\u003cdiv style=\"max-width: 900px; margin: 0 auto; line-height: 1.8; font-size: 15px; color: #222;\"\u003e\n\u003ch2 style=\"text-align: center; font-size: 22px; margin-bottom: 12px;\"\u003e\u003cstrong\u003eHighlights\u003c\/strong\u003e\u003c\/h2\u003e\n\u003c!-- ✅ One-Field Power Bank Calculator · Left-Caret + Custom Autocomplete (reset on empty\/unknown) --\u003e\n\u003c\/div\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=\"max-width: 900px; margin: 0 auto; line-height: 1.8; font-size: 15px; color: #222;\"\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:20000, cellV:3.7, outputW:30, 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\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003e⚡ High-Speed 60W Power Delivery\u003c\/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eBaseus PPXJ2030 Power Bank\u003c\/strong\u003e offers up to \u003cstrong\u003e60W PD fast charging\u003c\/strong\u003e, designed to efficiently power laptops, tablets, and smartphones. It supports multiple voltage outputs from \u003cstrong\u003e5V to 20V\u003c\/strong\u003e for quick, reliable performance across devices.\u003c\/p\u003e\n\u003ch3\u003e🔋 Massive 20,000mAh Capacity\u003c\/h3\u003e\n\u003cp\u003eEquipped with a \u003cstrong\u003epolymer lithium battery\u003c\/strong\u003e delivering \u003cstrong\u003e74Wh\u003c\/strong\u003e of energy and ≥75% conversion rate, it provides stable power for long trips, business travel, or daily use — keeping your essential devices fully charged all day.\u003c\/p\u003e\n\u003ch3\u003e🧩 Multi-Port Intelligent Output\u003c\/h3\u003e\n\u003cp\u003eFeatures \u003cstrong\u003eType-C + USB-A (x2)\u003c\/strong\u003e ports with smart power distribution. Charge up to three devices simultaneously while maintaining optimal speed and safety for each connected gadget.\u003c\/p\u003e\n\u003ch3\u003e🛡️ Reliable Safety \u0026amp; Design\u003c\/h3\u003e\n\u003cp\u003eBuilt with \u003cstrong\u003emulti-protection circuitry\u003c\/strong\u003e against over-voltage, overcurrent, overheating, and short circuits. Compact and durable at only \u003cstrong\u003e154.8×69.4×29.5mm\u003c\/strong\u003e and weighing \u003cstrong\u003e≈461g\u003c\/strong\u003e, ideal for travel and professional use.\u003c\/p\u003e\n\u003chr style=\"border: none; border-top: 1px solid #eee; margin: 25px 0;\"\u003e\n\u003ch2 style=\"text-align: center; font-size: 22px; margin-bottom: 12px;\"\u003e\u003cstrong\u003eSpecifications\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul style=\"list-style: none; padding-left: 0;\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eModel:\u003c\/strong\u003e PPXJ2030\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBattery Type:\u003c\/strong\u003e Polymer Lithium Battery\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapacity:\u003c\/strong\u003e 20000mAh \/ 74Wh\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnergy Conversion Rate:\u003c\/strong\u003e ≥75%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicro Input:\u003c\/strong\u003e 5V⎓2A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType-C Input:\u003c\/strong\u003e 5V⎓3A \/ 9V⎓3A \/ 12V⎓2.5A \/ 15V⎓2A \/ 20V⎓1.5A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType-C Output:\u003c\/strong\u003e 5V⎓3A \/ 9V⎓3A \/ 12V⎓2.5A \/ 15V⎓2A \/ 20V⎓1.5A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUSB1\/USB2 Output:\u003c\/strong\u003e 5V⎓3A \/ 9V⎓2A \/ 12V⎓1.5A \/ 10V⎓2.25A (SCP)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTotal Output:\u003c\/strong\u003e 5V⎓3A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProduct Size:\u003c\/strong\u003e 154.8 × 69.4 × 29.5mm\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProduct Weight:\u003c\/strong\u003e ≈461.3g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr style=\"border: none; border-top: 1px solid #eee; margin: 25px 0;\"\u003e\n\u003ch2 style=\"text-align: center; font-size: 22px; margin-bottom: 12px;\"\u003e\u003cstrong\u003eWhy You’ll Love It\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🚀 60W PD fast charging for laptops and phones\u003c\/li\u003e\n\u003cli\u003e🔋 20,000mAh capacity ensures all-day backup power\u003c\/li\u003e\n\u003cli\u003e🔗 Dual USB + Type-C multi-device charging\u003c\/li\u003e\n\u003cli\u003e🧳 Travel-friendly design with universal compatibility\u003c\/li\u003e\n\u003cli\u003e🛡️ Smart protection with efficient energy conversion\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_48a569f9-7d86-4c62-af1b-3f19c411fbb4.jpg?v=1725610480\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45490901647601,"sku":"P10022904113-00","price":98.78,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45490901680369,"sku":"P10022904213-00","price":98.78,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_195e6957-fcde-45d5-8169-4ca59d03f4f5.jpg?v=1725610344"},{"product_id":"baseus-starlord-10k-30w-power-bank","title":"Baseus Star-Lord 10K 30W Digital Display 4-Port Power Bank","description":"\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:10000, cellV:3.7, outputW:30, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eName: Power Bank\u003cbr\u003eModel No.: PPXJ1030\u003cbr\u003eBattery: Polymer lithium battery\u003cbr\u003eCapacity: 10000mAh\/37Wh\u003cbr\u003eEnergy Conversion Rate: ≥75%\u003cbr\u003eMicro Input: 5V-2A\u003cbr\u003eType-C Input: 5V-3A; 9V-2A; 12V-1.5A\u003cbr\u003eType-C Output: 5V-3A; 9V-3A;\u003cbr\u003e12V-2.5A; 15V-2A\u003cbr\u003eUSB1\/USB2 Output: 5V-3A;9V-2A;\u003cbr\u003e12V-1.5A; 10V-2.25A (SCP)\u003cbr\u003eTotal output: 5V-3A\u003cbr\u003eProduct size: 108.8×64.4×25.5mm\u003cbr\u003eProduct weight: About 236g\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_53ab5cfd-b035-426c-b1bd-bab8a1a1962c.jpg?v=1725609527\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45490615877873,"sku":"P10022907113-00","price":82.95,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45490615910641,"sku":"P10022907213-00","price":82.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_bf251e69-34ac-40b6-9b38-bd3c41fd5706.jpg?v=1725609349"},{"product_id":"baseus-starlord-20k-65w-power-bank","title":"Baseus Star-Lord 20K 65W 4-Port Power Bank with Digital Display","description":"\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:20000, cellV:3.7, outputW:65, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eName: Power Bank\u003cbr\u003eModel No.: PPXJ2065\u003cbr\u003eBattery: Polymer lithium battery\u003cbr\u003eCapacity: 20000mAh\/74Wh\u003cbr\u003eEnergy Conversion Rate:≥75%\u003cbr\u003eMicro Input:5V-2A;9V-2A; 12V-1.5A\u003cbr\u003eType-C Input:5V-3A;9V-3A; 12V-3A;\u003cbr\u003e15V-3A;20V-3.25A\u003cbr\u003eUSB1\/USB2 Output:5V-3A;9V-3A;\u003cbr\u003e12V-2.5A: 10V-2.25A(SCP)\u003cbr\u003eType-C Output:5V-3A;9V-3A; 12V-3A;\u003cbr\u003e15V-3A;20V-3.25A\u003cbr\u003eType-C+USB1\/USB2 Output:45W+18W\u003cbr\u003eType-C+USB1+USB2 Output:45W+15W+15W\u003cbr\u003eUSB1+USB2 Output: 5V-3A\u003cbr\u003e5V Total output:5V-6A\u003cbr\u003eProduct size: 150.3×69.0×27.9mm\u003cbr\u003eProduct weight: About 413g\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_5aeba7bc-31c2-4cb4-9790-bcd253e78d76.jpg?v=1725612157\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_968c8416-8000-490a-b4b5-2c6c338e8fb6.jpg?v=1725612156\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_4_01e067e3-c8be-4ce1-a373-46aadf5efe6b.jpg?v=1725612153\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45491615760625,"sku":"P10022906113-00","price":99.0,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45491615793393,"sku":"P10022906213-00","price":99.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_75ca72a6-9449-4b4b-9210-28fc02705b0d.jpg?v=1725611105"},{"product_id":"baseus-star-lord-30k-digital-display-4-port-power-bank-p10022908113-00","title":"Baseus Star-Lord 30K 65W Digital Display 4-Port Power Bank","description":"\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:30000, cellV:3.7, outputW:65, usable:0.72, airlineWhLimit:75 }, 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\u003cp\u003eName: Power Bank\u003cbr\u003eModel No.: PPXJ3065\u003cbr\u003eBattery: Polymer lithium battery\u003cbr\u003eCapacity: 30000mAh\/111Wh\u003cbr\u003eEnergy Conversion Rate:≥75%\u003cbr\u003eMicro Input: 5V-2A; 9V-2A; 12V-1.5A\u003cbr\u003eType-C Input:5V-3A;9V-3A;12V-3A;\u003cbr\u003e15V-3A;20V-3.25A\u003cbr\u003eType-C Output:5V-3A;9V-3A;12V-3A;\u003cbr\u003e15V-3A;20V-3.25A\u003cbr\u003eUSB1\/USB2 Output:5V-3A;9V-3A;\u003cbr\u003e12V-2.5A; 10V-2.25A(SCP)\u003cbr\u003eType-C+USB1\/USB2 Output:45W+18W\u003cbr\u003eTVDe-C+USB1+USB2 Output:45W+15W\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1464_602bdd1b-c064-4dd3-8c0d-a53755441515.jpg?v=1725845514\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45507375956209,"sku":"P10022908113-00","price":119.0,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45507375988977,"sku":"P10022908213-00","price":119.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_4bc32be3-42b2-4065-ab26-963cbce70dc5.jpg?v=1725845233"},{"product_id":"baseus-super-mini-pro-series-wireless-car-inflator-cluster-black-c11159300111-00","title":"Baseus Super Mini Pro Series Wireless Car Inflator-Cluster Black","description":"\u003cp\u003eName: Baseus SuperMini Pro Series Wireless\u003cbr\u003eCar Inflator\u003cbr\u003eModel No: BS-CG016\u003cbr\u003eBattery Capacity: 4000mAh\/14.8Wh\u003cbr\u003eType-C Input: 5V=2A\u003cbr\u003eInflation Time: 6-8min (R175 Tire)\u003cbr\u003eApplicable to: Cars\/Motorcycle\/Bicycles\u003cbr\u003e\/Basketballs, etc.\u003cbr\u003eWorking Temperature: Non-tropical areas, 0°C to 35 °C\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_4deb37d4-8f0a-4cb7-9fb5-771ac3640171.jpg?v=1725849338\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204825346289,"sku":"C11159300111-00","price":89.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_85235702-39ac-4de3-a924-98336eceaeec.jpg?v=1725849323"},{"product_id":"baseus-bowie-ma20-true-wireless-earphones","title":"Baseus Bowie MA20 True Wireless Earphones (Bluetooth 5.3)","description":"\u003cdiv style=\"line-height: 1.8;\"\u003e\n\u003ch2 style=\"text-align: center;\"\u003eBaseus Bowie MA20 True Wireless Earphones\u003c\/h2\u003e\n\u003cp\u003eExperience next-level wireless freedom with the \u003cstrong\u003eBaseus Bowie MA20\u003c\/strong\u003e. Equipped with advanced Bluetooth 5.3, long battery life, and a refined ergonomic design, it delivers powerful, uninterrupted sound wherever you go.\u003c\/p\u003e\n\u003ch3\u003e🎧 Key Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eBluetooth 5.3\u003c\/strong\u003e — stable, low-latency connection with faster data transmission and lower power consumption.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUp to 38 hours of total playback\u003c\/strong\u003e with charging case; enjoy 8 hours on a single charge.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eComfortable ergonomic fit\u003c\/strong\u003e — lightweight design made of durable ABS + PC materials.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRich 20Hz–20kHz frequency response\u003c\/strong\u003e for clear highs and deep bass.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType-C fast charging\u003c\/strong\u003e — full charge in about 1.5 hours.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLong-distance connection\u003c\/strong\u003e — stable performance within a 10m range.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e⚙️ Specifications\u003c\/h3\u003e\n\u003ctable style=\"border-collapse: collapse; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eModel No.\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eBaseus Bowie MA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMaterial\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eABS + PC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eBluetooth Version\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eV5.3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eCommunication Distance\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e10 m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMusic Playtime\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e≈ 8 hours (70% volume, ANC off)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eTotal Playtime (with case)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e≈ 35–38 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eBattery Capacity\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eEarphones: 50mAh \/ 0.193Wh each\u003cbr\u003eCharging Case: 400mAh \/ 1.52Wh\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eRated Input\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eEarphones: DC5V⎓96mA\u003cbr\u003eCharging Case: DC5V⎓400mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eRated Current Consumption\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eEarphones: 6mA\u003cbr\u003eCase: 310mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eCharging Time\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e≈ 1.5 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eFrequency Response Range\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e20Hz–20kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eCharge Interface\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eType-C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes:\u003c\/strong\u003e\u003cbr\u003eBaseus Bowie MA20 Earphones × 1 set | Charging Case × 1 | Type-C Cable × 1 | User Manual × 1\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cem\u003ePowerful sound, longer playtime, and modern comfort — the Baseus Bowie MA20 keeps your music alive wherever you go.\u003c\/em\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_90883895-cffc-44b5-9ed7-6c7aae1a790f.jpg?v=1725523831\" alt=\"\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827214065,"sku":"A00063400113-00","price":58.9,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_6_37cff174-31db-4139-9f4e-c197a047bdad.jpg?v=1725523821"},{"product_id":"baseus-magpro-magnetic-wireless-car-mount-15w","title":"Baseus MagPro Series Magnetic Wireless Charging Car Mount 15W-Cosmic Black","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:150px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* ✅ Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:120px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003e15W Magnetic Wireless Fast Charging\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSupports up to 15W wireless charging with automatic power adjustment (5W\/7.5W\/10W\/15W) for efficient, cable-free charging.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eMagnetic Auto-Alignment\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eMagnetic design snaps your phone into the optimal charging position instantly, keeping it secure even on bumpy roads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eOptimised for Daily Driving\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned for stable, hands-free navigation and charging during commuting and long drives.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eSafe Operating Temperature Range\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eEngineered for non-tropical environments, maintaining reliable performance between 0°C and 35°C.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eClean, Minimal In-Car Setup\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eWireless design reduces cable clutter while keeping your phone within clear view for navigation and calls.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv aria-label=\"Product Specifications\" role=\"table\" class=\"lazy-spec\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus MagPro Series Magnetic Wireless Charging Car Mount 15W\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eModel No.:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBS-CW02\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eInput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5V⎓2.4A (Max); 9V⎓2.23A (Max)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eWireless Output:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5W \/ 7.5W \/ 10W \/ 15W\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eTotal Power:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e15W (Max)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eWorking Temperature:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e0°C – 35°C (Non-tropical areas)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: For best performance, pair with a fast-charging car adapter and MagSafe-compatible phone or magnetic ring.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder (Centered) --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003eA+ Content Area\u003c\/h3\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_e6556c73-b8df-4d62-90bd-770a43113f9a.jpg?v=1725515500\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827246833,"sku":"C40164100121-00","price":79.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1-1_b15b7f80-7757-4b30-9006-0d2aad7fe2b3.jpg?v=1725515469"},{"product_id":"baseus-brilliance-series-magnetic-keyboard-case","title":"Baseus Brilliance Series Magnetic Keyboard Case","description":"\u003cp\u003eName: Baseus Brilliance Series Magnetic Keyboard Case\u003cbr\u003eModel No.: BS-PC023\u003cbr\u003eMaterial: PU leather+plastic\u003cbr\u003ePairing Name: Baseus-PC023\u003cbr\u003eBluetooth Connection Distance: 10m\u003cbr\u003eCharging Port: Type-C\u003cbr\u003eCharge Time: About 2h\u003cbr\u003eContinuous Use Time: About 150h\u003cbr\u003eOperating Voltage: 3.3V-4.2V\u003cbr\u003eBattery Capacity: 300mAh\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_01_4fce48a2-8546-4af5-ac48-d18a51e9d25d.jpg?v=1730351817\" alt=\"\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_12_8e804a86-0ad5-4197-b52f-c930d248ca48.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_10_ff117424-bfac-46e5-8820-9dfdf2bc3bb2.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_02_92b06db7-a44d-45e8-801d-6d601259f4d9.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_09_1a4015df-cc0c-4bb2-b3c1-96d71c13c201.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_08_088fd72f-bd8b-4425-83e5-f4591b5e9a04.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_06.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_28_cb2d2839-27c0-483f-8b60-11d53866f5d8.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_26_6c2fa0ca-2206-42c9-b914-6b23b44a4810.jpg?v=1730351817\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Baseus","offers":[{"title":"iPad 10.2 (19-21)","offer_id":45643341562097,"sku":"P40112602111-01","price":64.0,"currency_code":"AUD","in_stock":true},{"title":"iPad 10 (2022) 10.9","offer_id":45643341463793,"sku":"P40112602111-02","price":64.0,"currency_code":"AUD","in_stock":true},{"title":"iPad Air 4 \/ 5 \/ iPad Pro 11 (18-22)","offer_id":45643341496561,"sku":"P40112602111-03","price":84.0,"currency_code":"AUD","in_stock":true},{"title":"iPad Pro 12.9 (19-22)","offer_id":45643341529329,"sku":"P40112602111-04","price":84.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_b43af5a7-431a-41f1-b05e-07aa6adee0b7.jpg?v=1730351387"},{"product_id":"baseus-ultrajoy-series-7-port-type-c-hub-docking-station-b00052803811-01","title":"Baseus UltraJoy Series 7-Port Type-C HUB Docking Station","description":"\u003cp\u003eName: Baseus Ultra.Joy Series 7-Port\u003cbr\u003eHUB Docking Station\u003cbr\u003eModel No.:BS-OH160\u003cbr\u003eInput Port: Type-C\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0:5Gbps(Max.)\u003cbr\u003eHDMI:4K@60Hz(Max.)\u003cbr\u003ePD:100W (Max.)\u003cbr\u003eVGA:1080P@60Hz(Max.)\u003cbr\u003eInput:5V-3A:9V-3A:15V-3A;20V-5A\u003cbr\u003eOutput:5V-0.9A\u003cbr\u003eOperating Systems:Windows,\u003cbr\u003eApple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_1e596487-5444-4a1c-a3e1-8a5239042bfc.jpg?v=1725865535\" alt=\"\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827443441,"sku":"B00052803811-01","price":60.29,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_8eeb51e6-27c3-4914-a0ed-196f99ce39ab.jpg?v=1725865531"},{"product_id":"baseus-s-09-pro-series-car-fm-transmitter-cluster-black-c10762200113-00","title":"Baseus S-09 Pro Series Car FM Transmitter-Cluster Black","description":"\u003cp\u003eName: Baseus S-09 Pro Series Car FM\u003cbr\u003eTransmitter\u003cbr\u003eModel No.: BS-CH010\u003cbr\u003eWorking voltage: DC12-24V\u003cbr\u003eTransmission frequency: 87.5-108.0MHz\u003cbr\u003eFM transmission distance: \u0026lt;16ft\u003cbr\u003eBT version:V5.3\u003cbr\u003eEffective distance:≈32ft\u003cbr\u003eSupported flash disk\/TF card capacity: 128G\u003cbr\u003eAudio format: MP3\/WAV\/FLAC\/APE\/WMA\u003cbr\u003eCompatible car models: 12V or 24V battery car\u003cbr\u003eOutput power: 35W (Max.)\u003cbr\u003eCharging USB output: 5V-2.4A (Max.)\u003cbr\u003ePlayback USB output: 5V-1A (Max.)\u003cbr\u003eUSB-C output:5V-2.4A,9V-2A, 12V-1.5A (Max.)\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_ea41ce8b-9109-4825-beb4-c35b72918db8.jpg?v=1725848826\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827574513,"sku":"C10762200113-00","price":59.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_4fa9dbd4-7b0a-40c1-b3a1-194bf005c3af.jpg?v=1725848799"},{"product_id":"baseus-ultrajoy-series-10-port-type-c-hub-docking-station-b0005280c811-00","title":"Baseus UltraJoy Series 10-Port  Type-C HUB Docking Station","description":"\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_717a0ac4-7bc2-4ea3-92f7-dcac138d8d64.jpg?v=1725863388\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827607281,"sku":"B0005280C811-00","price":77.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_44b6fc1b-3bc1-40fe-a7f0-9a451a8d43df.jpg?v=1725863295"},{"product_id":"baseus-flash-series-2-usb4-type-c-to-type-c-charging-cable-1m-black-p10311803111-00","title":"Baseus Flash Series Gen2 USB4 Type-C to Type-C Charging Cable 240W 1M Black","description":"\u003ch2\u003e\u003cstrong\u003eHighlights\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003e240W Ultra-Fast Charging\u003c\/h3\u003e\n\u003cp\u003eSupports Power Delivery (PD) 3.1 technology, delivering up to 240W of fast charging power, ideal for high-power devices such as laptops, gaming laptops, tablets, and smartphones.\u003cbr\u003eCharges devices like the MacBook Pro 16\", Razer Blade, and other power-hungry devices with ease, significantly reducing charging times.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eFull USB4 Functionality\u003c\/h3\u003e\n\u003cp\u003eEquipped with USB4 technology, providing high-speed data transfer, video output, and power delivery all in one cable.\u003cbr\u003eSupports 4K\/8K video output and display extension for compatible devices, making it a perfect solution for professional users or those needing high-performance features.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eHigh-Speed Data Transfer\u003c\/h3\u003e\n\u003cp\u003eOffers data transfer speeds up to 40Gbps, allowing rapid file syncing, high-quality video transfer, and smooth operation of external devices such as external SSDs and docking stations.\u003cbr\u003eIdeal for transferring large files, 4K\/8K videos, and professional media content.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003ePremium Quality and Durability\u003c\/h3\u003e\n\u003cp\u003eFeatures a durable nylon braided exterior and reinforced connectors, ensuring the cable can withstand heavy use without fraying or breaking.\u003cbr\u003eAluminum alloy connectors with anti-oxidation treatment increase durability and maintain reliable data and power transmission over time.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eUniversal Compatibility\u003c\/h3\u003e\n\u003cp\u003eFully compatible with all USB-C devices that support USB4 or USB-C Power Delivery, including laptops, smartphones, tablets, and monitors.\u003cbr\u003eSupports both Thunderbolt 3\/4 and USB-C devices, making it versatile for both professional and personal use.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003e8K Video Output\u003c\/h3\u003e\n\u003cp\u003eSupports 8K video resolution (7680 x 4320) for an ultra-high-definition viewing experience, making it ideal for use with external displays, monitors, and TVs.\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eCompact and Portable Design\u003c\/h3\u003e\n\u003cp\u003eSlim, lightweight, and easy to carry, making it ideal for use on the go, whether for travel, business, or daily use.\u003cbr\u003eA perfect choice for anyone looking for a high-performance, all-in-one cable solution.\u003c\/p\u003e\n\u003ch2\u003e\u003c\/h2\u003e\n\u003ch2\u003eSpecification\u003c\/h2\u003e\n\u003cp\u003eName: Data Cable\u003cbr\u003eModel No.: CB000068\u003cbr\u003eMaterial: Zinc alloy+nylon\u003cbr\u003ePower: PD 240W\u003cbr\u003eTransmission Rate: 40Gbps\u003cbr\u003eVideo Transmission:8K@60Hz\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_9a31fc12-25e0-4b89-9d55-864b3816f16d.jpg?v=1725353843\"\u003e\u003c\/p\u003e\n\u003ch2\u003eCompatibility (Type-C)\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable width=\"80%\" style=\"width: 80%; border-collapse: collapse; border: 1px solid black; font-size: 16px;\" cellpadding=\"10\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"width: 18%; border: 1px solid black;\"\u003e\u003cstrong\u003eApple\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 26%; border: 1px solid black;\"\u003e\u003cstrong\u003eiPhone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 56%; border: 1px solid black;\"\u003e\u003cstrong\u003e16\/15\/14\/13\/12 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMacbook\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eAir\/Pro Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eiPad\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003ePro\/Air\/Mini\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eAirpods\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\n\u003cstrong\u003eMax\u003c\/strong\u003e | \u003cstrong\u003ePro 3\/2\/1\u003c\/strong\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eApple Watch\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003e9\/8\/7\/SE\/Ultra\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eSamsung\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMobile Phone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy S24\/S23\/S22\/S21 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMobile Phone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy A73\/A53\/A13 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMobile Phone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy Z Fold 5\/4\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMobile Phone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy Z Flips 5\/4\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eTablet\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eTab S8\/S9 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eSmart Watch\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy Watch 5\/4 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eEarbuds\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGalaxy Buds Live\/2\/2 Pro\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLaptop\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eChromebook 4\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eGoogle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMobile Phone\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003ePixel 8\/7\/6 Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e \u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLaptop\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003ePixelbook\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eMicrosoft\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLaptop\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eSurface Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eDell\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLaptop\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eXPS 13\/15 | Inspiron Series\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border: 1px solid black;\"\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLenovo\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eLaptop\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid black;\"\u003e\u003cstrong\u003eThinkpad X1 Series | Chromebook\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204827640049,"sku":"P10311803111-00","price":51.79,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/2_34dcfb6f-5bbb-455f-ae5a-276de4b57a9e.jpg?v=1725353713"},{"product_id":"baseus-bowie-h1-pro-anc-wireless-headphones","title":"Baseus Bowie H1 Pro ANC Wireless Headphones","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:160px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:130px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eHybrid Noise Cancellation Experience\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eActive noise reduction helps block out daily distractions, letting you focus on music, podcasts, or calls.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eUp to 80 Hours of Playback\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eEnjoy extended listening time at 70% volume with noise cancellation off—ideal for travel and long workdays.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003e60 Hours with Noise Cancellation On\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eEven with ANC enabled, you still get all-day battery life without worrying about frequent recharging.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eBluetooth 5.3 Stable Connection\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eLatest Bluetooth version delivers faster pairing, improved stability, and lower power consumption.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eComfort for Long Listening Sessions\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned for extended wear with balanced clamping force and cushioned ear pads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"lazy-spec\" role=\"table\" aria-label=\"Product Specifications\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus Noise Cancellation Wireless Headphones\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eModel No.:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus Bowie H1 Pro\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eWireless Version:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBluetooth V5.3\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMusic Playback Time:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eUp to 80 hours (70% volume, ANC off)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003ePlayback with ANC:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eUp to 60 hours (70% volume, ANC on)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eCharging Interface:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eUSB Type-C\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: Turn off noise cancellation when not needed to maximize overall battery life.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_001d831e-9357-4d64-90eb-318d88f4a708.jpg?v=1725850809\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"White","offer_id":45507457679601,"sku":"A00050601213-00","price":96.9,"currency_code":"AUD","in_stock":true},{"title":"Black","offer_id":45507457646833,"sku":"A00050601113-00","price":96.9,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1-2_bc24dfb8-9f2f-4746-9ac6-41adda94e5df.jpg?v=1725850747"},{"product_id":"baseus-share-together-pps-multi-port-fast-charging-car-charger-with-extension-cord-120w-3u-1c-gray-ccbt-b0g","title":"Baseus Share Together PPS Multi-port Fast Charging Car Charger with Extension Cord 120W 3U+1C-Gray","description":"\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Car Charger \u003cbr\u003eModel No.: CCBX-120U3\u003cbr\u003eMaterial: Aluminium+PC\u003cbr\u003eInput: DC 12-24V\u003cbr\u003eUSB1\/ USB2\/ USB3 Output: 5V\/3A; 9V\/2A; 10V\/2A; 12V\/2.5A 30W\u003cbr\u003eType-C Output: 5V\/3A; 9V\/2.22A; 12V\/2.5A; 15V\/2A; 20V\/1.5A 30W\u003cbr\u003eTotal Output: 30W+30W+30W+30W\u003cbr\u003eLength: 1.5m\u003cbr\u003eColor: Gray\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_b7c1eb08-7e0f-4ab7-9eb3-92f3fd0717b0.jpg?v=1725509395\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204828164337,"sku":"CCBT-B0G","price":47.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_1_59307030-691c-42c4-84aa-0570fa2025ee.jpg?v=1725509268"},{"product_id":"baseus-share-together-pps-multi-port-fast-charging-car-charger-with-extension-cord-120w-2u-2c-gray-ccbt-a0g","title":"Baseus Share Together PPS Multi-port Fast Charging Car Charger with Extension Cord 120W 2U+2C-Gray","description":"\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Car Charger \u003cbr\u003eModel No.: CCBX-120C2\u003cbr\u003eMaterial: Aluminium+PC\u003cbr\u003eInput: DC 12-24V\u003cbr\u003eUSB1\/ USB2 Output: 5V\/3A; 9V\/2A; 10V\/2A; 12V\/2.5A 30W\u003cbr\u003eType-C1\/ Type-C2 Output: 5V\/3A; 9V\/2.22A; 12V\/2.5A; 15V\/2A; 20V\/1.5A 30W\u003cbr\u003eTotal Output: 30W+30W+30W+30W\u003cbr\u003eLength: 1.5m\u003cbr\u003eColor: Gray\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_0892aeb0-9775-4cf8-ac0d-5592d423ade7.jpg?v=1725509110\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204828197105,"sku":"CCBT-A0G","price":49.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_1_06c40ee0-e552-4438-988e-3c3515af3191.jpg?v=1725509054"},{"product_id":"baseus-bowie-wm01-wireless-earphones","title":"Baseus Bowie WM01 True Wireless Earphones-Black","description":"\u003cp\u003eName: Baseus True Wireless Earphones\u003cbr\u003eModel No.: Baseus Bowie WM01\u003cbr\u003eBattery capacity: 40mAh\/0.148Wh\u003cbr\u003e(earphones) 300mAh\/1.11Wh (charging bin)\u003cbr\u003eEarphone rating input: DC5V - 50mA\u003cbr\u003eCharging bin rating input: DC5V - 300mA\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/930_e10d133a-83c6-480c-8eb7-7744d9e8a2d9.jpg?v=1730259999\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204828590321,"sku":"NGTW370001","price":43.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_7684e8f9-8dd8-44f8-a997-81e742533189.jpg?v=1730259915"},{"product_id":"baseus-magnetic-mini-10k-30w-wireless-power-bank-cable","title":"Baseus Magnetic Mini 10K 30W Wireless Charging Power Bank with Charging Cable","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:10000, cellV:3.7, outputW:30, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_f499a5ae-e5bf-4d34-80b0-35cc6a3ec8f0.jpg?v=1725604022\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch2\u003eSpecification\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eName: Power Bank\u003cbr\u003eModel No.: PPCXM10T\u003cbr\u003eBattery: Polymer Lithium Battery\u003cbr\u003eCapacity: 10000mAh\/38.5Wh\u003cbr\u003eEnergy Conversion Rate:≥75%\u003cbr\u003eType-C Input:5V-3A:9V-2A;12V-1.5A\u003cbr\u003eType-C Cable Input:5V-3A:9V-2A;12V-1.5A\u003cbr\u003eType-C Output:5V-3A;9V-3A;12V-2.5A;15V-2A\u003cbr\u003eType-C Cable Output:5V-3A;9V-3A; 12V-2.5A;15V-2A\u003cbr\u003eWireless Output:5W\/7.5W\/10W\/15W\u003cbr\u003eType-C +Type-C Cable Output:5V-3A\u003cbr\u003eTotal Output:5V-3A\u003cbr\u003eSize: 108.7×69×20mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45489823416561,"sku":"P1002210B113-00","price":79.0,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45489823449329,"sku":"P1002210B223-00","price":79.0,"currency_code":"AUD","in_stock":true},{"title":"LightBlue","offer_id":45489823482097,"sku":"P1002210B333-00","price":79.0,"currency_code":"AUD","in_stock":true},{"title":"Yellow","offer_id":45489823514865,"sku":"P1002210BY23-00","price":79.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_f3e0ae65-47b0-4afc-9373-1467f53b4f3a.jpg?v=1764667244"},{"product_id":"baseus-magpro-5k-20w-wireless-power-bank-bracket","title":"Baseus MagPro 5K 20W Wireless Charging Power Bank with Bracket","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:5000, cellV:3.7, outputW:20, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_c32704e5-5c19-43bf-93c8-1a9608036774.jpg?v=1725604486\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch2\u003e\u003cstrong\u003eSpecification\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eName: Power Bank\u003cbr\u003eModel No.: PPCXZ05\u003cbr\u003eBattery: Polymer Lithium Battery\u003cbr\u003eCapacity: 5000mAh\/19.25Wh\u003cbr\u003eEnergy Conversion Rate:≥75%\u003cbr\u003eType-C Input: 5V=2.4A\u003cbr\u003eType-C Output: 5V-2.4A; 9V-2.22A; 12V-1.5A\u003cbr\u003eWireless Output: 5W\/7.5W\/10W\/15W\u003cbr\u003eTotal Output: 5V=2.4A\u003cbr\u003eSize: 106.6×68.9×18mm\u003cbr\u003eNet Weight:≈156.8g\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45489848778993,"sku":"P10064101123-00","price":59.9,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45489848811761,"sku":"P10064101223-00","price":59.9,"currency_code":"AUD","in_stock":true},{"title":"LightBlue","offer_id":45489848844529,"sku":"P10064101333-00","price":59.9,"currency_code":"AUD","in_stock":true},{"title":"Yellow","offer_id":45489848877297,"sku":"P10064101Y23-00","price":59.9,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_9c7f8b4e-a7d7-4037-bb25-f4a6605a455a.jpg?v=1764667140"},{"product_id":"baseus-magstable-series-magnetic-tablet-stand-for-pad-10-9-11-space-gray-b10460300811-00","title":"Baseus MagStable Series Magnetic Tablet Stand for Pad 10.9‘’\/11‘’\/12.9‘’ -Space Gray","description":"\u003cp\u003eName: Baseus MagStable Series Magnetic Tablet Stand for Pad 10.9‘’\/11‘’\/12.9‘’\u003cbr\u003eModel No.: BS-HP011\u003cbr\u003eMaterial: Aluminium alloy\u003cbr\u003eApplicable Size: 10.9‘’\/11‘’\/12.9‘’ tablets\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_628e10d8-1801-4bd3-9bdf-7bf67bdb544e.jpg?v=1725331940\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Pad 12.9‘’","offer_id":47071420514545,"sku":"B10460300811-01","price":95.0,"currency_code":"AUD","in_stock":true},{"title":"Pad 10.9‘’\/11‘’","offer_id":47071498764529,"sku":null,"price":87.0,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_be17fce8-443b-41b1-b32d-a259efbd4b20.jpg?v=1725331882"},{"product_id":"baseus-t-space-series-2-in-1-storage-compartment-for-etc-c20251301811-00","title":"Baseus T-Space Series 2-in-1 Storage Compartment for ETC","description":"\u003cp\u003eProduct Name:Baseus T-Space Series 2-in-1 Storage Compartment for ETC\u003cbr\u003eModel No.: BS-TS008\u003cbr\u003eColor: Space Grey\u003cbr\u003eMaterial: Silicone\u003cbr\u003eProduct Size: 270*175*70mm\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_fe10b143-e8e1-4440-946c-8cd18d67f537.jpg?v=1725866430\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204830720241,"sku":"C20251301811-00","price":55.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_1_1c8967e2-a660-4759-9708-57e2ddd47143.jpg?v=1725866388"},{"product_id":"baseus-bowie-e13-wireless-earbuds","title":"Baseus Bowie E13 True Wireless Earphones","description":"\u003cp\u003eName: Baseus True Wireless Earphones\u003cbr\u003eModel No.: Baseus Bowie E13\u003cbr\u003eBattery capacity: 40mAh\/0.148Wh (earphones),\u003cbr\u003e400mAh\/1.48Wh (charging case)\u003cbr\u003eEarphone rated input: DC5V=80mA\u003cbr\u003eCharging case rated input: DC5V=520mA\u003cbr\u003eMax.RF output power: Bluetooth(BLE):3.02dBm\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_49788049-7dcc-4cf8-8018-cdb39569ac0e.jpg?v=1725524262\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45487184183537,"sku":"A00059701127-Z1","price":50.0,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45487184216305,"sku":"A00059701217-Z1","price":50.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/3_edb7dda1-4002-4121-bd6b-5e1cb33b4c2e.jpg?v=1725524100"},{"product_id":"baseus-c02-pro-magnetic-wireless-car-mount-15w","title":"Baseus C02 Pro Series Magnetic Wireless Charging Car Mount-Cluster Black","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:150px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* ✅ Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:120px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003e15W Magnetic Wireless Fast Charging\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSupports up to 15W wireless charging with adaptive output (5W \/ 7.5W \/ 10W \/ 15W) for efficient, cable-free power on the road.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eStrong Magnetic Attraction\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDelivers 13N attraction without a metal plate and up to 18N with a metal plate, keeping your phone firmly secured during driving.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eExtended Slim Design for Flexible Placement\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eLong, slim body design allows flexible positioning across dashboards or consoles while maintaining a clean, minimal look.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003ePremium Multi-Material Construction\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eBuilt with TPR, annealed aluminum, and ABS to balance durability, flexibility, and refined in-car aesthetics.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eMulti-Protocol Fast Charging Support\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eCompatible with PD and QC power inputs (5V–12V) for stable, efficient charging across different car adapters.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv aria-label=\"Product Specifications\" role=\"table\" class=\"lazy-spec\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus C02 Pro Series Magnetic Wireless Charging Car Mount\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eModel No.:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBS-CM019\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMaterial:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eTPR + Annealed Aluminum + ABS\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMagnetic Attraction:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e13N (Without Metal Plate) \/ 18N (With Metal Plate)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eInput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5V⎓2.4A (Max); 9V⎓2.23A (Max); 12V⎓1.67A (Max)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eWireless Output:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5W \/ 7.5W \/ 10W \/ 15W\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eProduct Size:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e212 × 60 × 15 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: For maximum holding strength, use the included metal plate or a MagSafe-compatible phone\/case.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder (Centered) --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003eA+ Content Area\u003c\/h3\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_965a248d-3099-4352-b046-876f93f376c2.jpg?v=1725512436\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204830949617,"sku":"C40156000111-00","price":63.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_d5217fdc-03b8-45b7-aad6-16a8c1e35cb0.jpg?v=1725512319"},{"product_id":"baseus-joyride-pro-back-seat-headrest-phone-tablet-mount","title":"Baseus JoyRide Pro Backseat Car Mount-Black","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* 固定品牌色 *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:160px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:130px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eRear Seat Entertainment Upgrade\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned for the car backseat, keeping phones or tablets perfectly positioned for passengers—ideal for family trips and long drives.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eSolid Aluminum Alloy Structure\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eReinforced aluminum alloy frame combined with ABS delivers excellent durability and long-term stability.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eStable \u0026amp; Vibration-Resistant Design\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eEngineered to reduce shaking and wobbling, ensuring a smooth viewing experience even on uneven roads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003eComfort-Focused for Passengers\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eKeeps screens at a comfortable viewing height, helping reduce neck strain for kids and rear passengers.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e \u003cspan class=\"lazy-hl\"\u003ePremium Pro-Series Build\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003ePart of the JoyRide Pro Series—designed with a clean, modern look that fits seamlessly into most car interiors.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv aria-label=\"Product Specifications\" role=\"table\" class=\"lazy-spec\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus JoyRide Pro Series Car Backseat Mount\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eModel No.:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBS-CZ009\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMaterial:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eAluminum Alloy + ABS\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eProduct Size:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e202 × 158 × 52 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003ePackage Size:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e230 × 64 × 99 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eProduct Weight:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eApprox. 320 g\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: Ideal for tablets and large phones—perfect for kids’ videos, movies, and hands-free backseat use.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003eA+ Content Area\u003c\/h3\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_934b2411-75f9-4eb2-901b-9e5dc21e854c.jpg?v=1725514226\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204833407217,"sku":"SUTQ000001","price":41.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_6_138f04fd-2ed9-47ea-ad91-38798e2b6aa4.jpg?v=1725514205"},{"product_id":"baseus-enjoyment-pro-2-in-1-car-charger-black-2c-c00035500111-00","title":"Baseus Enjoyment Pro 2-in-1 Car Charger (Black) - 2C","description":"\u003cp\u003eName: Car Charger\u003cbr\u003eModel No.:CCTX-CC\u003cbr\u003eCharger Material: PC+ABS\u003cbr\u003eCable Material: TPE+Aluminum alloy\u003cbr\u003enput:DC12-24V3.5A Max.\u003cbr\u003eType-C1Output:5V-3A;9V-3A;12V-2.5A;\u003cbr\u003ePPS:55V-11V-3A 33W Max.\u003cbr\u003eType-C2Output:5V-3A;9V-3A;10V-2A;\u003cbr\u003e12V-2.5A 30W Max\u003cbr\u003eType-C1+Type-C2 Output:5V-3.4A\u003cbr\u003eCar Charger Size: 49mm x46mmX80mm\u003cbr\u003eCable Length: 75cm Max.\u003cbr\u003eWeight: About 78g\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_2f1a9422-3290-450b-b792-eebfab24a99d.jpg?v=1725437817\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204833439985,"sku":"C00035500111-00","price":48.5,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_2ad7dbce-9e6f-4e3d-986f-abda49c13c86.jpg?v=1725437751"},{"product_id":"baseus-simple-2-wireless-charger-with-cable-15w-black-ccjj050001","title":"Baseus Simple 2 Wireless Charger With Cable 15W (Black)","description":"\u003cp\u003eName: Wireless Charger\u003cbr\u003eModel No.: BS-W530\u003cbr\u003eInput:5V⎓2A,9V⎓2A,12V⎓2A\u003cbr\u003eOutput: 15W Max.\u003cbr\u003eTransmitting Frequency: 115-205kHz\u003cbr\u003eProduct Size:92x92X6.5mm\u003cbr\u003eProduct Weight: About 49g\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_c8caa03d-3326-447a-b691-92408abfcc3b.jpg?v=1725590075\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204835143921,"sku":"CCJJ050001","price":54.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_d96994c9-6b4e-4c9e-9faa-07db26fbd54e.jpg?v=1725590068"},{"product_id":"baseus-t-space-series-hub-for-tesla-cars-with-a-retractable-45w-type-c-cable-cluster-black-b00051300111-00","title":"Baseus T-Space Series HUB for Tesla Cars (With a retractable 45W type-C cable)-Cluster Black","description":"\u003cp\u003eName: Baseus T-Space Series HUB for Tesla Cars\u003cbr\u003eModel No.: BS-TS002\u003cbr\u003eMaterial: ABS+PC+Aluminium alloy\u003cbr\u003eInput: Type-C1: 9V-3A\u003cbr\u003eInput: Type-C2: 9V-3A\u003cbr\u003eOutput 1 (retractable cable) Type-C: 5V-3A; 9V-3A; 12V-3A; 15V-3A; 20V+2.25A; 45W Max.\u003cbr\u003eOutput 2 Type-C: 5V-3A; 9V-2.22A; 12V-1.67A\u003cbr\u003eOutput 3 USBA1: 5V-2.4A\u003cbr\u003eOutput 4 USBA2: 5V-2.4A\u003cbr\u003eUSBA1+USBA2: 12W\u003cbr\u003eCable+Type-C: 30W+20W\u003cbr\u003eCable+Type-C+USBA1\\USBA2\\USBA1+USBA2: 20W+20W+12W\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_a0322ff0-2e9a-48fb-a221-713d7c7c754f.jpg?v=1725867307\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204835176689,"sku":"B00051300111-00","price":124.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_4a96fb58-4ac5-4659-aa08-d8bc5b0dfd18.jpg?v=1725867277"},{"product_id":"baseus-magnetic-10k-20w-wireless-power-bank-stand","title":"Baseus Magnetic 10K 20W Wireless Charging Power Bank with Stand","description":"\u003ch2\u003eHighlights\u003c\/h2\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:10000, cellV:3.7, outputW:20, 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\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eBuilt-In Foldable Kickstand\u003c\/h3\u003e\n\u003ch3\u003eAutomatic Magnetic Response\u003cbr\u003e\n\u003c\/h3\u003e\n\u003ch3\u003e15W Max Wireless Charging\u003c\/h3\u003e\n\u003ch3\u003e\n\u003cstrong\u003e20W Max Wired Charging\u003cbr\u003e\u003cbr\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_c07cc67d-6d92-4737-a8e8-03cef58ea2d8.jpg?v=1725600375\" alt=\"\"\u003e\u003c\/strong\u003eSpecification\u003c\/h3\u003e\n\u003cp\u003e\u003cbr\u003eName: Magnetic Bracket Wireless Fast Charge Power Bank 10000mAh\u003cbr\u003eModel No.: PPCXZ10\u003cbr\u003eBattery: Lithium-ion polymer battery\u003cbr\u003eMaterial: PC+ABS\u003cbr\u003eCapacity: 10000mAh \/ 3.85V \/  38.5Wh\u003cbr\u003eRated Capacity: 5800mAh（5V\/3A）\u003cbr\u003eEnergy Conversion Rate: ≥75%\u003cbr\u003eType-C Input: 5V\/3A; 9V\/2A\u003cbr\u003eType-C Output: 5V\/3A; 9V\/2.22A; 12V\/1.5A\u003cbr\u003eWireless Charging Output: 5W\/7.5W\/10W\/15W\u003cbr\u003eTotal Output: 5V\/3A\u003cbr\u003eSize: 117.3*69.7*20.3mm\u003cbr\u003eWeight: About 220g\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Pink","offer_id":45489623433457,"sku":"PPCX000204","price":75.0,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45489623367921,"sku":"PPCX000202","price":75.0,"currency_code":"AUD","in_stock":true},{"title":"Navy","offer_id":45489623400689,"sku":"PPCX000203","price":75.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_2_cf5f429b-5d96-4da1-a773-fa59ca04f287.jpg?v=1764666987"},{"product_id":"baseus-ppqd3-20-20000mah-power-bank","title":"Baseus Qpow2 20K 22.5W Dual-Cable Digital Display 3-Port Power Bank","description":"\u003cdiv style=\"max-width: 850px; line-height: 1.7;\"\u003e\n\u003ch2 style=\"text-align: center;\"\u003eHigh-Capacity Power, Compact Freedom\u003c\/h2\u003e\n\u003cp\u003eMeet the \u003cstrong\u003eBaseus PPQD3-20 20000mAh Power Bank\u003c\/strong\u003e — a compact energy giant built for all-day productivity and travel freedom. With a \u003cstrong\u003epolymer lithium battery\u003c\/strong\u003e delivering up to \u003cstrong\u003e76Wh\u003c\/strong\u003e and a ≥75% conversion rate, it ensures efficient, stable charging when you need it most.\u003c\/p\u003e\n\u003c!-- ✅ One-Field Power Bank Calculator · Left-Caret + Custom Autocomplete (reset on empty\/unknown) --\u003e\n\u003c\/div\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=\"max-width: 850px; line-height: 1.7;\"\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:20000, cellV:3.7, outputW:22.5, 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\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003e⚡ Smart Multi-Output Design\u003c\/h3\u003e\n\u003cp\u003eEquipped with \u003cstrong\u003eType-C, iPhone, and USB ports\u003c\/strong\u003e, plus an integrated Type-C cable, it supports \u003cstrong\u003eup to 22.5W fast charging\u003c\/strong\u003e for multiple devices simultaneously. From smartphones to tablets, enjoy seamless compatibility without hunting for extra cables.\u003c\/p\u003e\n\u003ch3\u003e🔋 Real Performance You Can Count On\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eType-C Input: 5V⎓3A \/ 9V⎓2A \/ 12V⎓1.5A\u003c\/li\u003e\n\u003cli\u003eType-C Output: 5V⎓2.4A \/ 9V⎓2.22A \/ 12V⎓1.5A\u003c\/li\u003e\n\u003cli\u003eBuilt-in Cable Output: 10V⎓2.25A (SCP)\u003c\/li\u003e\n\u003cli\u003eTotal Output: 5V⎓2.4A\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e🧳 Designed for Travel \u0026amp; Everyday Use\u003c\/h3\u003e\n\u003cp\u003eCompact at \u003cstrong\u003e132.4×74.7×31mm\u003c\/strong\u003e and weighing only \u003cstrong\u003e≈370g\u003c\/strong\u003e, it slips easily into your backpack or carry-on. Certified under 100Wh, it’s \u003cstrong\u003eairline-safe\u003c\/strong\u003e and perfect for on-the-go creators, commuters, and frequent travelers.\u003c\/p\u003e\n\u003ch3\u003e💡 Why You’ll Love It\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in cables – no tangles, no forgetting.\u003c\/li\u003e\n\u003cli\u003eLED power display for real-time battery visibility.\u003c\/li\u003e\n\u003cli\u003eAdvanced protection against overcharge, short circuit, and overheating.\u003c\/li\u003e\n\u003cli\u003eStylish, durable matte housing that resists fingerprints and scratches.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eStay powered wherever life takes you — with Baseus innovation in your pocket.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_38ee64bc-e6f7-4bc6-ae52-b45f5345ee0e.jpg?v=1725607839\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"LightSkyBlue","offer_id":45490512265457,"sku":"P10055002313-00","price":68.95,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45490512232689,"sku":"P10055002223-00","price":68.95,"currency_code":"AUD","in_stock":true},{"title":"MediumPurple","offer_id":45490512298225,"sku":"P10055002513-00","price":68.95,"currency_code":"AUD","in_stock":true},{"title":"Black","offer_id":45490512199921,"sku":"P10055002113-00","price":68.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_af64cc2c-1f2c-4820-8d6f-5f3d9207a0de.png?v=1764666612"},{"product_id":"baseus-magsafe-charger-15w-magnetic-wireless","title":"Baseus Simple Mini3 Magnetic Wireless Charger 15W","description":"\u003cp\u003eName: Wireless Charger\u003cbr\u003eModel No.: BS-W529\u003cbr\u003eInput: 5V⎓2A, 9V⎓2A, 12V⎓2A\u003cbr\u003eOutput: 15W Max.\u003cbr\u003eTransmission frequency: 115-205kHz\u003cbr\u003eProduct size: Diameter: 60.5mm,  thickness: 6.1mm   \u003cbr\u003eProduct weight: About 46.5g\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_a5e1d873-744c-4990-9408-80b0e293e240.jpg?v=1725592904\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"RebeccaPurple","offer_id":45489128374513,"sku":"CCJJ040205","price":35.5,"currency_code":"AUD","in_stock":true},{"title":"PaleTurquoise","offer_id":45489128407281,"sku":"CCJJ040303","price":35.5,"currency_code":"AUD","in_stock":true},{"title":"Silver","offer_id":45489082958065,"sku":"CCJJ040012","price":35.5,"currency_code":"AUD","in_stock":true},{"title":"Black","offer_id":45489082826993,"sku":"CCJJ040001","price":48.5,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_db3aed4d-fefe-4cc1-b33e-505bf02b899a.jpg?v=1725593229"},{"product_id":"baseus-enjoyment-pro-2-in-1-car-charger-c-l","title":"Baseus Enjoyment Pro 2-in-1 Car Charger (Black) - C+L","description":"\u003cdiv style=\"max-width: 1500px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; background: #f8f3eb; padding: 24px; border-radius: 16px; line-height: 1.7;\"\u003e\n\u003c!-- Left: Story \u0026 Benefits --\u003e\n\u003cdiv\u003e\n\u003ch2 style=\"text-align: center;\"\u003eBaseus Enjoyment Pro 2-in-1 Car Charger — Charge Faster on Every Drive\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eBaseus Enjoyment Pro 2-in-1 Car Charger (C+L)\u003c\/strong\u003e brings effortless fast-charging to every trip. With a \u003cstrong\u003e30 W PD output\u003c\/strong\u003e and a built-in \u003cstrong\u003eType-C + Lightning cable\u003c\/strong\u003e, it powers your iPhone and Android devices simultaneously — no extra cables needed.\u003c\/p\u003e\n\u003cp\u003eCrafted from \u003cstrong\u003ePC + ABS flame-retardant shell\u003c\/strong\u003e and reinforced TPE-aluminium alloy cable, it stays cool, safe, and reliable even on long drives.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e⚡ 30 W PD fast-charge support (Type-C \u0026amp; Lightning)\u003c\/li\u003e\n\u003cli\u003e🔋 Dual-device charging output up to 5 V \/ 3.4 A combined\u003c\/li\u003e\n\u003cli\u003e🚗 Wide input range 12 – 24 V for all vehicle types\u003c\/li\u003e\n\u003cli\u003e🛡️ Smart chip protection against over-voltage \u0026amp; over-heat\u003c\/li\u003e\n\u003cli\u003e🇦🇺 Free express shipping Australia-wide\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ca style=\"display: inline-block; margin-top: 16px; background: #000; color: #fff; padding: 10px 24px; border-radius: 8px; text-decoration: none; font-weight: bold;\" href=\"#add-to-cart\"\u003e🚀 Add to Cart Now\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- Right: Tech Specs --\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eModel No.:\u003c\/strong\u003e CCTX-CL\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInput:\u003c\/strong\u003e DC 12 – 24 V 3.5 A Max\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType-C Output:\u003c\/strong\u003e 5 V \/ 3 A; 9 V \/ 3 A; 10 V \/ 2 A; 12 V \/ 2.5 A (30 W Max)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLightning Output:\u003c\/strong\u003e 5 V \/ 3 A; 9 V \/ 2.77 A (25 W Max)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDual Output (C+L):\u003c\/strong\u003e 5 V \/ 3.4 A shared\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e PC + ABS Charger \/ TPE + Aluminium Alloy Cable\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSize:\u003c\/strong\u003e 49 × 46 × 80 mm | Weight: ≈78 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCable Length:\u003c\/strong\u003e 75 cm Max\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eColour:\u003c\/strong\u003e Black\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003eame:Car Charger\u003cbr\u003eModel No.:CCTX-CL\u003cbr\u003eCharger Material: PC+ABS \u003cbr\u003eCable Material: TPE+Aluminium alloy    \u003cbr\u003eInput: DC 12-24V 3.5A Max.  \u003cbr\u003eType-C Output: 5V\/3A; 9V\/3A; 10V\/2A; 12V\/2.5A; 30W Max.\u003cbr\u003eiP Output: 5V\/3A; 9V\/2.77A; 25W Max.\u003cbr\u003eType-C +iP Output: 5V\/3.4A\u003cbr\u003eCharger Size: 49mm*46mm*80mm       \u003cbr\u003eCable Length: 75cm  Max.\u003cbr\u003eWeight: About 78g\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_185af258-99fb-4e8f-8878-17ca7b88f4cb.jpg?v=1725437484\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204838256881,"sku":"CGTX000001","price":45.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1-1.jpg?v=1725437456"},{"product_id":"baseus-series-mz10-tws-true-wireless-bluetooth-headset-ngtw340001","title":"Baseus Series MZ10 TWS True Wireless Bluetooth Headset","description":"\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_e3d5691c-7129-444c-a223-6a4e90279620.jpg?v=1725525550\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45487209152753,"sku":"NGTW340001","price":71.99,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45487209185521,"sku":"NGTW340102","price":71.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_11544c81-d378-4082-9057-292f42a5d45a.jpg?v=1725525438"},{"product_id":"baseus-bipow-30k-20w-power-bank","title":"Baseus Bipow 30K 20W 4-Port Power Bank with Digital Display (Black)","description":"\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:30000, cellV:3.7, outputW:20, usable:0.72, airlineWhLimit:75 }, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Power Bank \u003cbr\u003eModel No.: PPBD30K\u003cbr\u003eBattery Type: Polymer lithium battery\u003cbr\u003eCapacity : 30000mAh \/ 3.7V（111Wh）\u003cbr\u003eRated Capacity: 18000mAh（5V\/3A）\u003cbr\u003eEnergy Conversion rate: ≥75%\u003cbr\u003eInput：\u003cbr\u003eMicro Input: 5V\/2A, 9V\/2A\u003cbr\u003eType-C Input: 5V\/3A, 9V\/2A\u003cbr\u003eOutput：\u003cbr\u003eType-C Output: 5V\/3A, 9V\/2.22A, 12V\/1.5A\u003cbr\u003eUSB1\/USB2 Output: 5V\/3A, 9V\/2A, 12V\/1.5A\u003cbr\u003eTotal Output:5V\/3A Max.\u003cbr\u003eSize: 153*68.8*41.9mm\u003cbr\u003eProduct weight: 645g\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_196a189d-c4a7-4dd6-9b01-0acddab4537e.jpg?v=1725599311\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204839403761,"sku":"PPBD050401","price":65.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_135a730f-0ecd-4689-b412-f62e232188aa.jpg?v=1725599299"},{"product_id":"baseus-bipow-30k-15w-power-bank","title":"Baseus Bipow 30K 15W 4-Port Power Bank with Digital Display (Black)","description":"\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:30000, cellV:3.7, outputW:15, usable:0.72, airlineWhLimit:75 }, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Power Bank \u003cbr\u003eModel No.: PPBD30 \u003cbr\u003eBattery Type: Polymer lithium battery\u003cbr\u003eCapacity : 30000mAh \/ 3.7V（111Wh）\u003cbr\u003eRated Capacity: 18000mAh（5V\/3A）\u003cbr\u003eEnergy Conversion rate: ≥75%\u003cbr\u003eInput：\u003cbr\u003eMicro Input: 5V\/2A\u003cbr\u003eType-C Input: 5V\/3A\u003cbr\u003eOutput：\u003cbr\u003eType-C Output: 5V\/3A\u003cbr\u003eUSB1\/USB2 Output: 5V\/3A\u003cbr\u003eTotal Output:5V\/3A Max.\u003cbr\u003eSize: 151*68.8*41.7mm\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_a38c0fd2-70bc-44a7-aac2-79a44623ee0d.jpg?v=1725597348\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204839469297,"sku":"PPBD050201","price":75.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_bde6898e-9070-4c0b-9675-a132d44215d1.jpg?v=1725597343"},{"product_id":"baseus-super-energy-air-car-jump-starter-12v-black-cgnl020101","title":"Baseus Super Energy Air Car Jump Starter  12V Black","description":"\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Baseus Super Energy Air Car Jump Starter\u003cbr\u003eModel: BS-CH001  \u003cbr\u003eCapacity：10000mAh\/3.7V \u003cbr\u003eType-C Input: 5V\/2.4A(Max)\u003cbr\u003eUSB output: 5V\/3A（Max）\u003cbr\u003eTotal output: 12W(Max) \u003cbr\u003eStarting voltage：12V  \u003cbr\u003eStarting current: 500A  \u003cbr\u003ePeak Current: 1000A\u003cbr\u003eSuitable for：4.0L gasoline car \/ 2.5L diesel car\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_526e39b9-521f-4208-b304-dc8ccacfcdfb.jpg?v=1725849016\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204839829745,"sku":"CGNL020101","price":133.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_2f5d15fe-ca05-4b13-a8b5-a4c1484923b8.jpg?v=1725848990"},{"product_id":"baseus-a3-lite-car-vacuum-cleaner-100w-12000-pa-vcaq050001","title":"Baseus A3 Lite Car Vacuum Cleaner 100W 12000 Pa","description":"\u003cp\u003eName: Baseus A3lite Car Vacuum Cleaner\u003cbr\u003eModel No.: A3lite\u003cbr\u003eSuction Force: Standard: 7,000pa   Efficient: 12,000pa\u003cbr\u003eBattery Life: Standard: ＞30min   Efficient: ＞10min\u003cbr\u003eRated Power: 100W\u003cbr\u003eInput: 5V⎓2A\u003cbr\u003eBattery Capacity: 6000mAh\/3.7V\/22.2Wh\u003cbr\u003eCharge Time: 3-3.5 hours\u003cbr\u003eButton: ON\/OFF\u003cbr\u003eDust Bin Capacity: About 130ml\u003cbr\u003eFilter: HEPA\u003cbr\u003ePort: Type-C\u003cbr\u003eOperation Noise: Lower than 65dB\u003cbr\u003eMaterial: ABS+PC\u003cbr\u003eColor: Black, white\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_3df31841-80b6-49ca-8a74-68b9d7e3b0fb.jpg?v=1725847904\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45507384934641,"sku":"VCAQ050001","price":119.99,"currency_code":"AUD","in_stock":false},{"title":"White","offer_id":45507384967409,"sku":"VCAQ050002","price":119.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_3fae6cb0-9b7e-4e8c-8da9-1edb1a9a6a03.jpg?v=1725847831"},{"product_id":"baseus-bowie-m2s-anc-true-wireless-earphone-ngtw350101","title":"Baseus Bowie M2s ANC True Wireless Earphone","description":"\u003cp\u003eName: Baseus True Wireless Earphones\u003cbr\u003eModel No.: Baseus Bowie M2s\u003cbr\u003eBattery capacity: 35mAh\/0.135Wh (earphones)\u003cbr\u003e400mAh\/1.48Wh(charging case)\u003cbr\u003eEarphone rated input: DC5V-67mA\u003cbr\u003eCharging case rated input: DC5V-600mA\u003cbr\u003eFrequency response range: 20 Hz-20 kHz\u003cbr\u003eCharge interface: Type-C\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_164c35bf-0bec-47ca-9cea-901cf64ee5a6.jpg?v=1725524731\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Black","offer_id":45487197618417,"sku":"NGTW350101","price":68.5,"currency_code":"AUD","in_stock":true},{"title":"White","offer_id":45487197651185,"sku":"NGTW350102","price":68.5,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/3_c98dc661-94c2-4193-8671-a95b116f7c2a.jpg?v=1725524620"},{"product_id":"baseus-magnetic-stepless-dimming-charging-desk-lamp-pro-white-dgxc-02","title":"Baseus Magnetic Stepless Dimming Charging Desk Lamp Pro-White","description":"\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Baseus i-wok Series Charging Office Reading Desk Lamp (Spotlight)\u003cbr\u003eMaterial: ABS+PC\u003cbr\u003eColor: White\u003cbr\u003eRated voltage: 5V\u003cbr\u003ePower: 5W\u003cbr\u003eLight source: LED\u003cbr\u003eLuminous flux: ≥100 lm\u003cbr\u003eColor rendering index: ＞80 Ra\u003cbr\u003eBattery capacity: 1800mAh\u003cbr\u003eColor temperature: 3000K-5000K\u003cbr\u003eWorking time: strong light - 4 hours; low light - 40 hours\u003cbr\u003eProduct size: 280*39*48mm\u003cbr\u003eProduct weight: 184g\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_6e22311c-e6c1-410d-9edb-f0571c5089a0.jpg?v=1725935454\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204840747249,"sku":"DGXC-02","price":43.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_934123dc-b6b7-4e5c-bd95-26947d4cd7ea.jpg?v=1725935429"},{"product_id":"baseus-flite-series-4-port-type-c-hub-docking-station-b0005280a813-03","title":"Baseus Flite Series 4-Port Type-C HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 4-Port HUB\u003cbr\u003eModel No.: BS-OH109\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0: 5Gbps\u003cbr\u003eRJ45:1000Mbps\u003cbr\u003eOutput: 5V-0.9A\u003cbr\u003eOperating systems: Windows, Apple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_f4b23982-ae44-4ee7-9d14-aece8ed5d29e.jpg?v=1725865137\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204840878321,"sku":"B0005280A813-03","price":47.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_4_1efd38bb-fa04-4bba-9843-60ae27b6cc12.jpg?v=1725865232"},{"product_id":"baseus-flite-series-4-port-usb-a-hub-docking-station-b0005280a813-02","title":"Baseus Flite Series 4-Port USB-A HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 4-Port HUB\u003cbr\u003eModel No.: BS-OH108\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0:5Gbps\u003cbr\u003eOutput:5V-0.9A\u003cbr\u003eOperating systems: Windows, Apple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_f4b23982-ae44-4ee7-9d14-aece8ed5d29e.jpg?v=1725865137\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204840911089,"sku":"B0005280A813-02","price":47.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_e54afc0a-ae92-482f-93f9-48fd84e58eb7.jpg?v=1725865105"},{"product_id":"baseus-flite-series-4-port-usb-a-hub-docking-station-b0005280a813-01","title":"Baseus Flite Series 4-Port USB-A HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 4-Port HUB\u003cbr\u003eModel No.: BS-OH109\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0:5Gbps\u003cbr\u003eRJ45:1000Mbps\u003cbr\u003eOutput:5V-0.9A\u003cbr\u003eOperating systems:Windows, Apple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_6fe14923-b1a3-4e5c-b90b-76fb1b292cde.jpg?v=1725864954\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204840976625,"sku":"B0005280A813-01","price":57.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_4_c1538a69-8aab-4f29-a268-27b1ae7e002f.jpg?v=1725863829"},{"product_id":"baseus-flite-series-4-port-type-c-hub-docking-station-b0005280a813-00","title":"Baseus Flite Series 4-Port Type C HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 4-Port HUB\u003cbr\u003eModelNo.: BS-OH109\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0:5Gbps\u003cbr\u003eOutput:5V-0.9A\u003cbr\u003eOperating systems: Windows,Apple OS,Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_246c1c7f-ba92-47f1-8781-ff21d3ddd98d.jpg?v=1725863710\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204841009393,"sku":"B0005280A813-00","price":55.19,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_4_59a9d2de-d654-4b21-a0fb-955615e29e00.jpg?v=1725863694"},{"product_id":"baseus-flite-series-5-port-type-c-hub-docking-station-b00052809813-00","title":"Baseus Flite Series 5-Port Type-C HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 5-Port HUB Docking Station\u003cbr\u003eModelNo.:BS-OH110\u003cbr\u003eInput Port:Type-C\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0: 5Gbps\u003cbr\u003eHDMI: 4K@30Hz\u003cbr\u003eOutput:5V-0.9A\u003cbr\u003eOperating systems: Windows, Apple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_f4b23982-ae44-4ee7-9d14-aece8ed5d29e.jpg?v=1725865137\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204841042161,"sku":"B00052809813-00","price":47.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_e533d9fe-6a2b-4ba2-b7f8-92b1008e5217.jpg?v=1725865303"},{"product_id":"baseus-flite-series-7-port-type-c-hub-docking-station-b00052805813-00","title":"Baseus Flite Series 7-Port Type-C HUB Docking Station","description":"\u003cp\u003eName: Baseus Flite Series 7-Port HUB Docking Station\u003cbr\u003eModel No.: BS-OH112\u003cbr\u003eInput Port: Type-C\u003cbr\u003eOutput Ports:\u003cbr\u003eUSB 3.0: 5Gbps\u003cbr\u003eHDMI:4K@60Hz\u003cbr\u003ePD: 100W (Max.)\u003cbr\u003eRJ45: 1000Mbps\u003cbr\u003eSD\/TF: 104MB\/s\u003cbr\u003eInput: 5V-3A; 9V-3A; 15V-3A; 20V-5A\u003cbr\u003eOutput: 5V-0.9A\u003cbr\u003eOperating systems: Windows, Apple OS, Linux, Vista\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_d61145d9-42d5-4862-b924-e77e4227bcfb.jpg?v=1725865769\"\u003e\u003c\/p\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204841107697,"sku":"B00052805813-00","price":69.79,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_3_55e8f00d-0ee4-4d8c-97a5-9708bd4fb500.jpg?v=1725865744"},{"product_id":"baseus-dashboard-wireless-car-mount-suction-cup","title":"Baseus Wisdom Induction Charger Car Mount On The Dashboard (Suction Cup) -Black","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:150px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* ✅ Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:120px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eAuto Alignment for Easy Docking\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eAuto-alignment design helps position your phone correctly for charging, making daily use simpler and more consistent.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003e15W Wireless Fast Charging\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDelivers up to 15W max output to keep your phone powered during commutes, navigation, and hands-free calls.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eStable In-Car Mounting\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned to keep your phone steady while driving, reducing movement and distractions on uneven roads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eCompact, Space-Saving Design\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eBalanced dimensions fit neatly into most car interiors without blocking vents or dashboard controls.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eReliable Daily Compatibility\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSuitable for most Qi-enabled smartphones, offering a convenient wireless charging solution for everyday driving.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"lazy-spec\" role=\"table\" aria-label=\"Product Specifications\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus Wisdom Auto Alignment Car Mount Wireless Charger\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eBrand:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eColour:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBlack\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMaterial:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eABS\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eInput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5V⎓2A, 9V⎓2A, 12V⎓1.5A\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eOutput Power:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e15W (Max)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eSize:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e68 × 104 × 120 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: Use a compatible fast-charging car adapter to achieve the best charging performance.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder (Centered) --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003eA+ Content Area\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_af39e931-89b4-45e5-b641-004d1c8b1cb2.jpg?v=1725521318\"\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204842615025,"sku":"CGZX000101","price":49.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_01005b5b-bceb-4501-a4e7-b70f51c668ba.jpg?v=1725521280"},{"product_id":"baseus-bipow-20k-20w-power-bank","title":"Baseus Bipow 20K 20W 4-Port Power Bank with Digital Display (Black)","description":"\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 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\u003cdiv class=\"pb-onefield\" 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;\"\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 class=\"pb-left-caret\" role=\"combobox\" aria-haspopup=\"listbox\" aria-expanded=\"false\"\u003e\n\u003cbutton type=\"button\" class=\"pb-caret-btn\" aria-label=\"Open models\"\u003e▾\u003c\/button\u003e \u003cinput type=\"text\" id=\"pb-phone-model\" placeholder=\"Start typing e.g., iPhone 16 Pro Max\" autocomplete=\"off\" aria-autocomplete=\"list\" aria-controls=\"pb-suggest-list\"\u003e\n\u003cdiv class=\"pb-suggest\" id=\"pb-suggest\" role=\"listbox\"\u003e\n\u003cul id=\"pb-suggest-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kpis\" aria-live=\"polite\"\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 class=\"msg\" style=\"display: none;\"\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:20000, cellV:3.7, outputW:20, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eBrand: Baseus\u003cbr\u003eName: Power Bank \u003cbr\u003eModel No.: PPBD20K\u003cbr\u003eBattery Type: Polymer lithium battery\u003cbr\u003eCapacity : 20000mAh \/ 3.7V（74Wh）\u003cbr\u003eRated Capacity: 12000mAh（5V\/3A）\u003cbr\u003eEnergy Conversion rate: ≥75%\u003cbr\u003eInput：\u003cbr\u003eMicro Input: 5V\/2A, 9V\/2A\u003cbr\u003eType-C Input: 5V\/3A, 9V\/2A\u003cbr\u003eOutput：\u003cbr\u003eType-C Output: 5V\/3A, 9V\/2.22A, 12V\/1.5A\u003cbr\u003eUSB1\/USB2 Output: 5V\/3A, 9V\/2A, 12V\/1.5A\u003cbr\u003eTotal Output:5V\/3A Max.\u003cbr\u003eSize: 153*68.8*29.5mm\u003cbr\u003eProduct weight: 452g\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_b2d232fb-7659-4c1c-965b-4a6fcebefeed.jpg?v=1725599156\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204843401457,"sku":"PPBD050501","price":64.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_ee005370-8be6-45e4-a59b-9668cfe2f98a.jpg?v=1725599117"},{"product_id":"baseus-bipow-10k-20w-power-bank","title":"Baseus Bipow 10K 20W 4-Port Power Bank with Digital Display (Black)","description":"\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:10000, cellV:3.7, outputW:20, 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 \u003c!-- ⚡ Baseus PPBD10K 10000mAh Power Bank | Single-Column Description --\u003e\n\u003cdiv class=\"lazy-singlecol-ppbd10k\" style=\"max-width: 1500px; margin: 0 auto; padding: 32px 24px; font-family: 'Inter',system-ui,Arial,sans-serif; line-height: 1.7; color: #111;\"\u003e\n\u003c!-- Title --\u003e\n\u003ch2 style=\"text-align: center; font-size: 28px; font-weight: 800; margin: 0 0 12px;\"\u003eBaseus PPBD10K 10000mAh Fast Charging Power Bank – Compact · Reliable · Everyday Essential\u003c\/h2\u003e\n\u003cp style=\"text-align: center; max-width: 900px; margin: 0 auto 28px; color: #444;\"\u003eLightweight, high-efficiency 10000mAh portable power bank designed for daily commuting, travel, and multi-device fast charging.\u003c\/p\u003e\n\u003c!-- Product Image --\u003e\n\u003cdiv style=\"text-align: center; margin: 0 auto 28px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_89ebbb0b-cc92-436d-80a0-2075aaa9b9c8.jpg?v=1725599001\" alt=\"Baseus PPBD10K 10000mAh Power Bank – Compact Fast Charging Portable Battery\" style=\"max-width: 100%; border-radius: 14px;\"\u003e\u003c\/div\u003e\n\u003c!-- Highlights --\u003e\n\u003cdiv style=\"background: #fafafa; padding: 22px 20px; border-radius: 14px; border: 1px solid #eee; margin-bottom: 32px;\"\u003e\n\u003ch3 style=\"margin: 0 0 12px; font-size: 20px; font-weight: bold;\"\u003e🔋 Key Features\u003c\/h3\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; color: #444; font-size: 15px;\"\u003e\n\u003cli\u003eHigh-density \u003cstrong\u003e10000mAh polymer lithium battery\u003c\/strong\u003e for reliable daily power\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e22.5W fast charging\u003c\/strong\u003e via Type-C + Dual USB outputs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicro + Type-C dual input\u003c\/strong\u003e for flexible recharging\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact 252g\u003c\/strong\u003e body for easy everyday carry\u003c\/li\u003e\n\u003cli\u003eAdvanced energy conversion efficiency ≥75%\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch3 style=\"font-size: 20px; margin-bottom: 12px; font-weight: bold;\"\u003e📦 Specifications\u003c\/h3\u003e\n\u003cul style=\"padding-left: 20px; color: #444; font-size: 15px;\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eBrand:\u003c\/strong\u003e Baseus\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eModel:\u003c\/strong\u003e PPBD10K\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBattery Type:\u003c\/strong\u003e Polymer lithium battery\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapacity:\u003c\/strong\u003e 10000mAh \/ 3.7V (37Wh)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRated Capacity:\u003c\/strong\u003e 5800mAh (5V\/3A)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnergy Conversion Rate:\u003c\/strong\u003e ≥75%\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 style=\"font-size: 20px; margin-top: 20px; margin-bottom: 10px; font-weight: bold;\"\u003e⚡ Input\u003c\/h3\u003e\n\u003cul style=\"padding-left: 20px; color: #444; font-size: 15px;\"\u003e\n\u003cli\u003eMicro: 5V⎓2A, 9V⎓2A\u003c\/li\u003e\n\u003cli\u003eUSB-C: 5V⎓3A, 9V⎓2A\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 style=\"font-size: 20px; margin-top: 20px; margin-bottom: 10px; font-weight: bold;\"\u003e⚡ Output\u003c\/h3\u003e\n\u003cul style=\"padding-left: 20px; color: #444; font-size: 15px;\"\u003e\n\u003cli\u003eType-C: 5V⎓3A, 9V⎓2.22A, 12V⎓1.5A\u003c\/li\u003e\n\u003cli\u003eUSB1 \/ USB2: 5V⎓3A, 9V⎓2A, 12V⎓1.5A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTotal Output:\u003c\/strong\u003e 5V⎓3A Max\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 style=\"font-size: 20px; margin-top: 20px; margin-bottom: 10px; font-weight: bold;\"\u003e📏 Size \u0026amp; Weight\u003c\/h3\u003e\n\u003cul style=\"padding-left: 20px; color: #444; font-size: 15px;\"\u003e\n\u003cli\u003eDimensions: 153 × 68.8 × 16.9 mm\u003c\/li\u003e\n\u003cli\u003eWeight: 252g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- 📱 Mobile Optimization --\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n@media (max-width:600px){\n  .lazy-singlecol-ppbd10k h2 { font-size:22px !important; }\n  .lazy-singlecol-ppbd10k h3 { font-size:18px !important; }\n  .lazy-singlecol-ppbd10k { padding:28px 18px !important; }\n}\n\u003c\/style\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204843434225,"sku":"PPBD050301","price":52.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_f6d96f4e-4998-4d4f-83bb-94d1604044f3.jpg?v=1725598961"},{"product_id":"baseus-bipow-10k-15w-power-bank","title":"Baseus Bipow 10K 15W 4-Port Power Bank with Digital Display (Black)","description":"\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:10000, cellV:3.7, outputW:15, 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\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBrand: Baseus\u003c\/strong\u003e\u003cbr\u003eName: Power Bank \u003cbr\u003eModel No.: PPBD10\u003cbr\u003eBattery Type: Polymer lithium battery\u003cbr\u003eCapacity : 10000mAh \/ 3.7V（37Wh）\u003cbr\u003eRated Capacity: 5800mAh (5V\/3A)\u003cbr\u003eEnergy Conversion rate: ≥75%\u003cbr\u003eInput：\u003cbr\u003eMicro Input: 5V\/2A\u003cbr\u003eType-C Input: 5V\/3A\u003cbr\u003eOutput：\u003cbr\u003eType-C Output: 5V\/3A\u003cbr\u003eUSB1\/USB2 Output: 5V\/3A\u003cbr\u003eTotal Output:5V\/3A Max.\u003cbr\u003eSize: 151*68.8*16.9mm\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_4b432c05-5486-4ffa-9fdd-5438b90417b6.jpg?v=1725596055\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204843499761,"sku":"PPBD050001","price":55.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/1_08cc4b35-a3aa-4e4a-8939-c7f0773d6556.jpg?v=1725596037"},{"product_id":"baseus-wisdom-auto-clamp-wireless-car-mount","title":"Baseus Wisdom Auto Alignment Wireless Charging Car Mount  Black","description":"\u003cstyle\u003e\n  \/* ✅ 2-Lazy Responsive Block (Desktop + Mobile) *\/\n  .lazy-lite, .lazy-lite * { box-sizing: border-box; }\n  .lazy-lite { max-width: 1500px; margin: 0 auto; padding: 24px; font-family: Inter, Arial, sans-serif; line-height: 1.7; color: #111; }\n  .lazy-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 20px; align-items: stretch; }\n\n  .lazy-card{\n    border-radius: 16px;\n    padding: 22px;\n    box-shadow: 0 6px 18px rgba(0,0,0,0.08);\n    overflow: hidden;\n  }\n  .lazy-left{ background:#f8f3eb; }\n  .lazy-right{ background:#fff; border:1px solid rgba(0,0,0,0.06); }\n\n  .lazy-title{\n    text-align:center;\n    font-size:22px;\n    font-weight:900;\n    margin:0 0 14px;\n    letter-spacing:.2px;\n    color:#150660; \/* ✅ fixed brand color *\/\n  }\n  .lazy-sub{\n    margin:0 0 12px;\n    color:#444;\n    font-size:14.5px;\n    text-align:center;\n  }\n\n  .lazy-bullets{ margin:0; padding:0; list-style:none; }\n  .lazy-bullets li{ margin:0 0 14px; }\n  .lazy-bullets li:last-child{ margin-bottom:0; }\n  .lazy-check{ font-weight:900; margin-right:6px; }\n  .lazy-hl{ font-weight:900; display:inline-block; margin-bottom:2px; }\n  .lazy-desc{ margin:0; color:#222; font-size:14.5px; }\n\n  .lazy-spec{\n    margin:0;\n    padding:14px;\n    border-radius:12px;\n    background:rgba(0,0,0,0.03);\n    border:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row{\n    display:grid;\n    grid-template-columns:150px 1fr;\n    gap:10px;\n    padding:8px 0;\n    border-bottom:1px solid rgba(0,0,0,0.06);\n  }\n  .lazy-spec-row:last-child{ border-bottom:0; }\n  .lazy-k{ color:#555; font-weight:800; font-size:13.5px; }\n  .lazy-v{ color:#111; font-size:14px; overflow-wrap:anywhere; }\n\n  .lazy-note{\n    margin-top: 14px;\n    font-size: 12.5px;\n    color: #666;\n    text-align: center;\n  }\n\n  \/* ⭐ A+ Placeholder *\/\n  .lazy-aplus{\n    margin-top: 28px;\n    padding: 28px 20px;\n    border-radius: 18px;\n    border: 2px dashed rgba(21,6,96,0.25);\n    background: linear-gradient(180deg, rgba(21,6,96,0.04), rgba(21,6,96,0.02));\n    text-align: center;\n  }\n  .lazy-aplus h3{\n    margin: 0 0 8px;\n    font-size: 20px;\n    font-weight: 900;\n    color: #150660;\n  }\n  .lazy-aplus p{\n    margin: 0;\n    font-size: 14.5px;\n    color: #555;\n  }\n\n  \/* ✅ Mobile *\/\n  @media (max-width: 860px){\n    .lazy-lite{ padding:16px; }\n    .lazy-grid{ grid-template-columns:1fr; gap:14px; }\n    .lazy-card{ padding:18px; border-radius:14px; }\n    .lazy-title{ font-size:20px; margin-bottom:12px; }\n    .lazy-spec-row{ grid-template-columns:120px 1fr; }\n  }\n  @media (max-width: 420px){\n    .lazy-spec-row{ grid-template-columns:1fr; gap:4px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"lazy-lite\"\u003e\n\u003cdiv class=\"lazy-grid\"\u003e\n\u003c!-- 🟡 LEFT: 2 Lazy 2 Decide --\u003e\n\u003csection class=\"lazy-card lazy-left\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Decide\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Highlights\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"lazy-bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eAuto Alignment for Hassle-Free Charging\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eAutomatic alignment design helps guide your phone into the optimal charging position every time—no manual adjustment needed.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003e15W Wireless Fast Charging\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSupports wireless fast charging up to 15W max, keeping your phone powered during navigation, calls, and daily commutes.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eStable In-Car Mounting Structure\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eDesigned to hold your phone securely in place, reducing shaking and movement on uneven or bumpy roads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eCompact \u0026amp; Clean Interior Fit\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eSlim, balanced proportions fit naturally into most car interiors without blocking vents or dashboard controls.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"lazy-check\"\u003e✅\u003c\/span\u003e\u003cspan class=\"lazy-hl\"\u003eReliable Daily Compatibility\u003c\/span\u003e\n\u003cp class=\"lazy-desc\"\u003eCompatible with most Qi-enabled smartphones, offering a convenient wireless charging solution for everyday driving.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003c!-- 🔵 RIGHT: 2 Lazy 2 Search --\u003e\n\u003csection class=\"lazy-card lazy-right\"\u003e\n\u003ch2 class=\"lazy-title\"\u003e2 Lazy 2 Search\u003c\/h2\u003e\n\u003cp class=\"lazy-sub\"\u003e\u003cstrong\u003eProduct Specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"lazy-spec\" role=\"table\" aria-label=\"Product Specifications\"\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eName:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus Wisdom Auto Alignment Car Mount Wireless Charger\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eBrand:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBaseus\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eColour:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eBlack\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eMaterial:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003eABS\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eInput:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e5V⎓2A, 9V⎓2A, 12V⎓1.5A\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eOutput Power:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e15W (Max)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lazy-spec-row\"\u003e\n\u003cdiv class=\"lazy-k\"\u003eSize:\u003c\/div\u003e\n\u003cdiv class=\"lazy-v\"\u003e68 × 104 × 120 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"lazy-note\"\u003eTip: For best fast-charging performance, pair with a compatible fast-charging car adapter.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ A+ Content Placeholder (Centered) --\u003e\n\u003cdiv class=\"lazy-aplus\"\u003e\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/720_b36ca107-4c6a-4ede-824f-3b7c83855a5a.jpg?v=1725509725\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Baseus","offers":[{"title":"Default Title","offer_id":44204844941553,"sku":"CGZX000001","price":73.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0675\/1997\/1569\/files\/0_1_3b2378f6-db10-4c27-aec1-5f4ef1925a99.jpg?v=1725509685"}],"url":"https:\/\/2lazy.com.au\/collections\/new-collection.oembed?page=3","provider":"2 Lazy Tech","version":"1.0","type":"link"}