{"title":"3D プリンター","description":"","products":[{"product_id":"wash-cure-3","title":"Anycubic Wash \u0026 Cure 3","description":"\u003cdiv\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-kv.jpg?v=1695288428\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-kv-mc.jpg?v=1695288429\" class=\"small-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Main Features\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-main-features.jpg?v=1695288429\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Main Features\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-main-features-mc.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003cdiv style=\"grid-template-columns: 1fr 1fr 1fr 1fr;\" class=\"anchor-container\"\u003e\n\u003cspan\u003e\u003ca href=\"#features\"\u003eMain Features\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#models\"\u003eModels Display\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#techspecs\"\u003eTech Specs\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#inthebox\"\u003eIn The Box\u003c\/a\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ca name=\"features\"\u003e\u003c\/a\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3\u003c\/span\u003e\u003cbr\u003eMain Features\u003c\/h2\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eLarger Size for Upgraded Capacity\u003c\/h3\u003e\n\u003cp\u003eCompared to Anycubic Wash \u0026amp; Cure 2.0, the Anycubic Wash \u0026amp; Cure 3 has an impressive 100% increase in cleaning basket capacity, now at 3 liters. The total volume of the cleaning bucket has been expanded to 4 liters. This makes it perfectly tailored for LCD (light-curing) 3D printers with a size of 7.3 inches or less.\u003c\/p\u003e\n\u003cp\u003eThe curing size has increased by 15%, up to 160*180 millimeters, to accommodate larger and more models for single post-processing session.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Larger Size\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-1.jpg?v=1695288430\" class=\"large-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Larger Size\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-1-mc.jpg?v=1695288431\" class=\"small-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Powerful and Alcohol-Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-2.jpg?v=1695288430\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Powerful and Alcohol-Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-2-mc.jpg?v=1695288429\" class=\"small-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Powerful and Alcohol-Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-2-mc2.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eLocalized Strengthening, Uniform Curing\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 130px;\"\u003eThe \"Innovative Flexicure Gooseneck Light Design\" increases the energy value by 30,000uW\/cm² within a 1-3 cm irradiation range, significantly strengthening the curing effect on subtle areas such as the top of models and the hem of garments.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Localized Strengthening\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-3.jpg?v=1695290462\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Localized Strengthening\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-3-mc.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 130px;\"\u003eBy adopting a brand new arrangement of light beads and lens light source, Anycubic Wash \u0026amp; Cure 3's curing uniformity has been enhanced by 20% compared to its predecessor 2.0. This results in a more thorough and comprehensive curing of the entire model.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Localized Strengthening\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-4.jpg?v=1695290461\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Localized Strengthening\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-4-mc.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eDual-layer Design, IPA Saving\u003c\/h3\u003e\n\u003cp\u003eAnycubic Wash \u0026amp; Cure 3 machine features an elegant pearl white body complemented by a sleek gray-toned cover, exuding a fresh and minimalist aesthetic. The convenient all-in-one flip cover design allows for easy opening and closing. The user-friendly control panel interface ensures a smooth and seamless operation experience.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - IPA Saving\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-5.jpg?v=1695288430\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - IPA Saving\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-5-mc.jpg?v=1695288431\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eSimple Operation, Quiet and Efficient\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp\u003eCleaning and curing dual modes, easily selected with one click; Enhanced Gooseneck light curing mode can be easily toggled on and off with one click. Infinite rotary knob control, adjustable from 1 to 30 minutes at will.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Simple Operation\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-6.jpg?v=1695291671\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Simple Operation\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-6-mc.jpg?v=1695288429\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp\u003eThrough a more sealed structural design and software optimization, the noise interference generated during cleaning and curing is reduced\u003csup\u003e[1]\u003c\/sup\u003e, creating a quieter and more comfortable working environment.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Quiet and Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-7.jpg?v=1695291671\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Quiet and Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-feature-7-mc.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"color: #7e7e7e; font-size: 14px;\"\u003e[1] Measured by Anycubic Laboratory the maximum sound \u0026lt; 65dB in the operating state of the machine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ca name=\"models\"\u003e\u003c\/a\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3\u003c\/span\u003e\u003cbr\u003eModels Display\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Sample Prints\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-models.jpg?v=1695288429\" class=\"large-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Sample Prints\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-models-mc.jpg?v=1695288430\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003ca name=\"techspecs\"\u003e\u003c\/a\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3\u003c\/span\u003e\u003cbr\u003eTech Specs\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Tech Specs\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-spec.jpg?v=1695288427\" class=\"large-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - Tech Specs\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-spec-mc.jpg?v=1695288426\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003ca name=\"inthebox\"\u003e\u003c\/a\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3\u003c\/span\u003e\u003cbr\u003eIn The Box\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - In The Box\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-in-the-box.jpg?v=1695288427\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 - In The Box\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-in-the-box-mc.jpg?v=1695288426\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003eAnycubic Care+\u003c\/h2\u003e\n\u003cdiv class=\"grid-container-care\"\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/www.anycubic.com\/pages\/firmware-software\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic Download Center\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-download.png?v=1683872827\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/www.anycubic.com\/pages\/firmware-software\"\u003eDownload\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eProduct-related firmware, drivers, slicers, manuals and test models.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/www.anycubic.com\/pages\/guide-videos\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic tutorial videos\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-video-guide.png?v=1683872828\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/www.anycubic.com\/pages\/guide-videos\"\u003eTutorial Videos\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eProduct-related video guides.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/wiki.anycubic.com\/en\/home\" target=\"_blank\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic support center\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-support.png?v=1683872828\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/wiki.anycubic.com\/en\/home\" target=\"_blank\"\u003eSupport\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eContact us or request after-sales service.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"ANYCUBIC","offers":[{"title":"Anycubic Wash \u0026 Cure 3","offer_id":48081161945344,"sku":"WS3B0WH-Y-R","price":10899.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/WC3-JP.jpg?v=1788939470"},{"product_id":"wash-cure-3-plus","title":"Anycubic Wash \u0026 Cure 3 Plus","description":"\u003cdiv\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus\" src=\"https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-kv.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus\" src=\"https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-kv-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus Main Features\" src=\"https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-main-features.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus Main Features\" src=\"https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-main-fetures-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003cdiv style=\"grid-template-columns: 1fr 1fr 1fr 1fr;\" class=\"anchor-container\"\u003e\n\u003cspan\u003e\u003ca href=\"#features\"\u003eMain Features\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#models\"\u003eModels Display\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#techspecs\"\u003eTech Specs\u003c\/a\u003e\u003c\/span\u003e \u003cspan\u003e\u003ca href=\"#inthebox\"\u003eIn The Box\u003c\/a\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003ca name=\"features\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3 Plus\u003c\/span\u003e\u003cbr\u003e主な特徴\u003cbr\u003e\n\u003c\/h2\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eサイズアップ、容量拡大\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 140px;\"\u003eAnycubic Wash \u0026amp; Cure Plusと比較して、洗浄バスケットの容量は約13.4%増加し、7.6リットルとなりました。洗浄タンクの総容量は12リットルで、10.6インチ以下の光造形3Dプリンターに対応しています。\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Size Upgrade\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-1.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Size Upgrade\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-1-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 140px;\"\u003eAt the same time, the curing size has increased by 42%, up to φ220*260 millimeters, to accommodate larger and more models for single post-processing session.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Capacity Increased\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-2.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Capacity Increased\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-2-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eOverall Curing And Partial Enhanced\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 180px;\"\u003eThe innovative Flexicure gooseneck lights design increases the energy value by 30,000uW\/cm²* in the 1~3cm irradiation range, which greatly enhances the curing effect on details such as the top of the model and the figure's skirt.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Overall Curing And Partial Enhanced\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-3.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Overall Curing And Partial Enhanced\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-3-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 180px;\"\u003eThe Anycubic Wash \u0026amp; Cure 3 Plus features a brand-new arrangement of lamb beads combined with a lens light source. Compared to the previous generation Anycubic Wash \u0026amp; Cure Plus, it offers a 20% improvement in curing uniformity*. This results in a more thorough and comprehensive overall curing of the model, ensuring better quality and consistency.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Overall Curing And Partial Enhanced\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-4.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Overall Curing And Partial Enhanced\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-4-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eDual-Layer Design, IPA Saving\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 120px;\"\u003eThe dual-layer PP material cleaning basket supports washing with platform. It is equipped with two adjustable heights of 150 millimeters and 250 millimeters, allowing printing platforms from 6.6 to 10.6 inches, maximizing alcohol usage efficiency.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Dual-Layer Design\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-5.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Dual-Layer Design\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-5-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 120px;\"\u003eA brand-new dual-layer curing platform has been adopted, which increases the number of models cured per cycle and greatly improves the curing efficiency.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - IPA Saving\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-6.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - IPA Saving\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-6-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature_list\"\u003e\n\u003ch3\u003eSimple Operation, Quiet and Efficient\u003c\/h3\u003e\n\u003cdiv id=\"container_product_feature\"\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 120px;\"\u003eCleaning and curing dual modes, easily selected with one click; Enhanced Gooseneck light curing mode can be easily toggled on and off with one click. Cleaning and curing time can be easily adjusted from 1 to 30 minutes at will.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Simple Operation\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-7.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Simple Operation\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-7-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"item\"\u003e\n\u003cp style=\"min-height: 120px;\"\u003eThrough a more sealed structural design and software optimization, the noise interference generated during cleaning and curing is reduced\u003csup\u003e[1]\u003c\/sup\u003e, creating a quieter and more comfortable working environment.\u003c\/p\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Quiet and Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-8.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Quiet and Efficient\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-feature-8-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"color: #7e7e7e; font-size: 14px;\"\u003e[1] Measured by Anycubic Laboratory the maximum sound \u0026lt; 65dB in the operating state of the machine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003ca name=\"models\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3 Plus\u003c\/span\u003e\u003cbr\u003eModels Display\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Sample Prints\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-models.jpg?v=1700119753\" class=\"large-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Sample Prints\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-models-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003ca name=\"techspecs\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3 Plus\u003c\/span\u003e\u003cbr\u003eTech Specs\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Tech Specs\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-tech-spec.jpg?v=1700119752\" class=\"large-banner\"\u003e\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - Tech Specs\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-tech-spec-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003ca name=\"inthebox\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003e\n\u003cspan class=\"name\"\u003eAnycubic Wash \u0026amp; Cure 3 Plus\u003c\/span\u003e\u003cbr\u003eIn The Box\u003c\/h2\u003e\n\u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - In The Box\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-in-the-box.jpg?v=1700119753\" class=\"large-banner\"\u003e \u003cimg alt=\"Anycubic Wash \u0026amp; Cure 3 Plus - In The Box\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/anycubic-wash-and-cure-3-plus-in-the-box-mc.jpg?v=1700119753\" class=\"small-banner\"\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"container_product\"\u003e\n\u003ch2\u003eAnycubic Care+\u003c\/h2\u003e\n\u003cdiv class=\"grid-container-care\"\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/www.anycubic.com\/pages\/firmware-software\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic Download Center\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-download.png?v=1683872827\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/www.anycubic.com\/pages\/firmware-software\"\u003eDownload\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eProduct-related firmware, drivers, slicers, manuals and test models.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/www.anycubic.com\/pages\/guide-videos\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic tutorial videos\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-video-guide.png?v=1683872828\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/www.anycubic.com\/pages\/guide-videos\"\u003eTutorial Videos\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eProduct-related video guides.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"grid-item-care\"\u003e\n\u003ca href=\"https:\/\/wiki.anycubic.com\/en\/home\" target=\"_blank\"\u003e\u003cimg width=\"60%\" alt=\"Anycubic support center\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/icon-support.png?v=1683872828\"\u003e \u003c\/a\u003e\n\u003cp style=\"font-size: 20px; font-weight: bold;\"\u003e\u003ca href=\"https:\/\/wiki.anycubic.com\/en\/home\" target=\"_blank\"\u003eSupport\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eContact us or request after-sales service.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"ANYCUBIC","offers":[{"title":"Wash \u0026 Cure 3 Plus","offer_id":48081169907968,"sku":"WS3LA0WH+S020185-R","price":25099.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/WC3P-JP.jpg?v=1788939413"},{"product_id":"ace-2-pro","title":"Anycubic ACE 2 Pro","description":"","brand":"ANYCUBIC","offers":[{"title":"ACE 2 Pro:Kobra X \/ Kobra S1 Max \/ Kobra S1用 \/ 無","offer_id":48081184260352,"sku":"DS20BK2A+ACC-R","price":39299.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra X \/ Kobra S1 Max \/ Kobra S1用 \/ +PLA Special*4","offer_id":48081184293120,"sku":"DS20BK2A+4HPT-R","price":47798.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra X \/ Kobra S1 Max \/ Kobra S1用 \/ +PLA High Speed*4","offer_id":48081184325888,"sku":"DS20BK2A+4HHS-R","price":47998.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra X \/ Kobra S1 Max \/ Kobra S1用 \/ +PETG*4","offer_id":48081184391424,"sku":"DS20BK2A+4HPE-R","price":46998.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra 3 Max V2 \/ Kobra 4 \/ Kobra 3 Max \/ Kobra 3 V2 \/ Kobra 3用 \/ 無","offer_id":48081184489728,"sku":"DS20BK1A+ACC-R","price":39299.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra 3 Max V2 \/ Kobra 4 \/ Kobra 3 Max \/ Kobra 3 V2 \/ Kobra 3用 \/ +PLA Special*4","offer_id":48081184522496,"sku":"DS20BK1A+4HPT-R","price":47798.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra 3 Max V2 \/ Kobra 4 \/ Kobra 3 Max \/ Kobra 3 V2 \/ Kobra 3用 \/ +PLA High Speed*4","offer_id":48081184555264,"sku":"DS20BK1A+4HHS-R","price":47998.0,"currency_code":"JPY","in_stock":true},{"title":"ACE 2 Pro:Kobra 3 Max V2 \/ Kobra 4 \/ Kobra 3 Max \/ Kobra 3 V2 \/ Kobra 3用 \/ +PETG*4","offer_id":48081184620800,"sku":"DS20BK1A+4HPE-R","price":46998.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/ACE_2_PRO-JP.jpg?v=1788939236"},{"product_id":"kobra-x","title":"Anycubic Kobra X","description":"","brand":"ANYCUBIC","offers":[{"title":"Kobra X (4 色) \/ 無","offer_id":48081194680576,"sku":"KBX0WH0A-R","price":44099.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X (4 色) \/ PLA*4","offer_id":48081194713344,"sku":"KBX0WH0A+4HPL-R","price":52598.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X (4 色) \/ PETG*4","offer_id":48081194746112,"sku":"KBX0WH0A+4HPE-R","price":51798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X (4 色) \/ PLA High Speed*4","offer_id":48081194778880,"sku":"KBX0WH0A+4HHS-R","price":52798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X (4 色) \/ PLA Special*4","offer_id":48081194844416,"sku":"KBX0WH0A+4HPT-R","price":52598.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ 無","offer_id":48081194975488,"sku":"KBXCWH0B-R","price":78799.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ PLA*4","offer_id":48081195008256,"sku":"KBXCWH0A+4HPL-R","price":87298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ PETG*4","offer_id":48081195041024,"sku":"KBXCWH0A+4HPE-R","price":86498.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ PLA High Speed*4","offer_id":48081195073792,"sku":"KBXCWH0A+4HHS-R","price":87498.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ PLA Special*4","offer_id":48081195139328,"sku":"KBXCWH0A+4HPT-R","price":87298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色） \/ 無","offer_id":48081195270400,"sku":"KBXCWH0A+DS20BK2A-R","price":113398.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色） \/ PLA*4","offer_id":48081195303168,"sku":"KBXCWH0A+4HPL+DS20BK2A-R","price":121897.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色） \/ PETG*4","offer_id":48081195335936,"sku":"KBXCWH0A+4HPE+DS20BK2A-R","price":121097.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色） \/ PLA High Speed*4","offer_id":48081195368704,"sku":"KBXCWH0A+4HHS+DS20BK2A-R","price":122097.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色） \/ PLA Special*4","offer_id":48081195434240,"sku":"KBXCWH0A+4HPT+DS20BK2A-R","price":121897.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ 無","offer_id":48081195565312,"sku":"KBXCWH0A+3DS20BK2A-R","price":182596.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ PLA*4","offer_id":48081195598080,"sku":"KBXCWH0A+4HPL+3DS20BK2A-R","price":191095.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ PETG*4","offer_id":48081195630848,"sku":"KBXCWH0A+4HPE+3DS20BK2A-R","price":190295.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ PLA High Speed*4","offer_id":48081195663616,"sku":"KBXCWH0A+4HHS+3DS20BK2A-R","price":191295.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ PLA Special*4","offer_id":48081195729152,"sku":"KBXCWH0A+4HPT+3DS20BK2A-R","price":191095.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/KX_9336be85-2271-4232-8310-64212a936c69.jpg?v=1788939174"},{"product_id":"kobra-s1-max","title":"Anycubic Kobra S1 Max","description":"","brand":"ANYCUBIC","offers":[{"title":"Kobra S1 Max \/ 無","offer_id":48081193337088,"sku":"KS1MBK0A+ACC-R","price":102499.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max \/ +PLA Special*4","offer_id":48081193369856,"sku":"KS1MBK0A+4HPT-R","price":110998.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max \/ +PLA High Speed*4","offer_id":48081193402624,"sku":"KS1MBK0A+4HHS-R","price":111198.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max \/ +PETG*4","offer_id":48081193468160,"sku":"KS1MBK0A+4HPE-R","price":110198.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ 無","offer_id":48081193566464,"sku":"KSMCBK0A+ACC-R","price":134099.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PLA Special*4","offer_id":48081193599232,"sku":"KSMCBK0A+4HPT-R","price":142598.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PLA High Speed*4","offer_id":48081193632000,"sku":"KSMCBK0A+4HHS-R","price":142798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PETG*4","offer_id":48081193697536,"sku":"KSMCBK0A+4HPE-R","price":141798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ 無","offer_id":48081193795840,"sku":"KSMCBK0A+DS20BK2A-R","price":168698.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PLA Special*4","offer_id":48081193828608,"sku":"KSMCBK0A+4HPT+DS20BK2A-R","price":177197.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PLA High Speed*4","offer_id":48081193861376,"sku":"KSMCBK0A+4HHS+DS20BK2A-R","price":177397.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PETG*4","offer_id":48081193926912,"sku":"KSMCBK0A+4HPE+DS20BK2A-R","price":176397.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16 色) \/ 無","offer_id":48081194025216,"sku":"KSMCBK0A+3DS20BK2A-R","price":237896.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16 色) \/ +PLA Special*4","offer_id":48081194057984,"sku":"KSMCBK0A+4HPT+3DS20BK2A-R","price":246395.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16 色) \/ +PLA High Speed*4","offer_id":48081194090752,"sku":"KSMCBK0A+4HHS+3DS20BK2A-R","price":246595.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16 色) \/ +PETG*4","offer_id":48081194156288,"sku":"KSMCBK0A+4HPE+3DS20BK2A-R","price":245595.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/S1M_3b801bfc-90c3-4398-8f85-acd2a963b445.jpg?v=1788939081"},{"product_id":"photon-p1-resin-3d-printer","title":"Anycubic Photon P1","description":"","brand":"ANYCUBIC","offers":[{"title":"Photon P1 \/ 無","offer_id":48081206083840,"sku":"PP10BK0A-R","price":85399.0,"currency_code":"JPY","in_stock":true},{"title":"Photon P1 \/ 4KG Standard レジン","offer_id":48081206214912,"sku":"PP10BK0A4000-R","price":93243.0,"currency_code":"JPY","in_stock":false},{"title":"Photon P1 \/ 3KG ABS-Like レジン 2.0","offer_id":48081206739200,"sku":"PP10BK0A3000-R","price":90936.0,"currency_code":"JPY","in_stock":false},{"title":"Photon P1+Wash \u0026 Cure 3 Plus \/ 無","offer_id":48081206870272,"sku":"PP10BK0A+WS3LA0WH-R","price":107398.0,"currency_code":"JPY","in_stock":true},{"title":"Photon P1+Wash \u0026 Cure 3 Plus \/ 4KG Standard レジン","offer_id":48081207001344,"sku":"PP10BK0A4000+WS3LA0WH-R","price":115242.0,"currency_code":"JPY","in_stock":false},{"title":"Photon P1+Wash \u0026 Cure 3 Plus \/ 3KG ABS-Like レジン 2.0","offer_id":48081207525632,"sku":"PP10BK0A3000+WS3LA0WH-R","price":112935.0,"currency_code":"JPY","in_stock":false},{"title":"Photon P1+Wash \u0026 Cure 3 Max \/ 無","offer_id":48081207656704,"sku":"PP10BK0A+WC3MWH0A-R","price":132598.0,"currency_code":"JPY","in_stock":true},{"title":"Photon P1+Wash \u0026 Cure 3 Max \/ 4KG Standard レジン","offer_id":48081207787776,"sku":"PP10BK0A4000+WC3MWH0A-R","price":140442.0,"currency_code":"JPY","in_stock":false},{"title":"Photon P1+Wash \u0026 Cure 3 Max \/ 3KG ABS-Like レジン 2.0","offer_id":48081208312064,"sku":"PP10BK0A3000+WC3MWH0A-R","price":138135.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/P1-JP.jpg?v=1788938978"},{"product_id":"photon-mono-m7-pro","title":"Anycubic Photon Mono M7 Pro","description":"\u003ch1 class=\"Polaris-Header-Title\"\u003e\u003cspan class=\"Polaris-Text--root Polaris-Text--headingLg Polaris-Text--bold\"\u003eAnycubic Photon Mono M7 Pro\u003c\/span\u003e\u003c\/h1\u003e","brand":"ANYCUBIC","offers":[{"title":"無 \/ 無","offer_id":48081201430784,"sku":"PM7RBK0A+ACC-R","price":75699.0,"currency_code":"JPY","in_stock":true},{"title":"無 \/ 1KG レジン","offer_id":48081201529088,"sku":"PM7RBK0A1000-R","price":78006.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 3KG レジン","offer_id":48081201627392,"sku":"PM7RBK0A3000-R","price":81582.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 5KG レジン","offer_id":48081201725696,"sku":"PM7RBK0A5000-R","price":85158.0,"currency_code":"JPY","in_stock":false},{"title":"Wash\u0026Cure 3 Plus \/ 無","offer_id":48081201824000,"sku":"PM7RBK0A+WS3LA0WH-R","price":97698.0,"currency_code":"JPY","in_stock":true},{"title":"Wash\u0026Cure 3 Plus \/ 1KG レジン","offer_id":48081201922304,"sku":"PM7RBK0A1000+WS3LA0WH-R","price":100005.0,"currency_code":"JPY","in_stock":false},{"title":"Wash\u0026Cure 3 Plus \/ 3KG レジン","offer_id":48081202020608,"sku":"PM7RBK0A3000+WS3LA0WH-R","price":103581.0,"currency_code":"JPY","in_stock":false},{"title":"Wash\u0026Cure 3 Plus \/ 5KG レジン","offer_id":48081202118912,"sku":"PM7RBK0A5000+WS3LA0WH-R","price":107157.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 無","offer_id":48081202217216,"sku":"PM7RBK0A+WC3MWH0A-R","price":122898.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Max \/ 1KG レジン","offer_id":48081202315520,"sku":"PM7RBK0A1000+WC3MWH0A-R","price":125205.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 3KG レジン","offer_id":48081202413824,"sku":"PM7RBK0A3000+WC3MWH0A-R","price":128781.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 5KG レジン","offer_id":48081202512128,"sku":"PM7RBK0A5000+WC3MWH0A-R","price":132357.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/M7P_0ddcee6a-3f16-4696-a325-17adf13f739f.jpg?v=1788938865"},{"product_id":"photon-mono-4","title":"Anycubic Photon Mono 4","description":"\u003cp\u003eAnycubic Photon Mono 4\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"単品 \/ 無","offer_id":48081205723392,"sku":"PM40BK0A+ACC-R","price":26699.0,"currency_code":"JPY","in_stock":true},{"title":"単品 \/ 2KG レジン","offer_id":49099833245952,"sku":"PM40BK0A2000-R","price":30621.0,"currency_code":"JPY","in_stock":false},{"title":"単品 \/ 4KG レジン","offer_id":49099833278720,"sku":"PM40BK0A4000-R","price":34543.0,"currency_code":"JPY","in_stock":false},{"title":"🔥Wash \u0026 Cure 3 \/ 無","offer_id":48081205756160,"sku":"PM40BK0A+WS3A0WH-R","price":37598.0,"currency_code":"JPY","in_stock":true},{"title":"🔥Wash \u0026 Cure 3 \/ 2KG レジン","offer_id":49099833311488,"sku":"PM40BK0A2000+WS3A0WH-R","price":41520.0,"currency_code":"JPY","in_stock":false},{"title":"🔥Wash \u0026 Cure 3 \/ 4KG レジン","offer_id":49099833344256,"sku":"PM40BK0A4000+WS3A0WH-R","price":45442.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 無","offer_id":48081205788928,"sku":"PM40BK0A+WS3LA0WH-R","price":48698.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Plus \/ 2KG レジン","offer_id":49099833377024,"sku":"PM40BK0A2000+WS3LA0WH-R","price":52620.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 4KG レジン","offer_id":49099833409792,"sku":"PM40BK0A4000+WS3LA0WH-R","price":56542.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/M4-JP.jpg?v=1788938799"},{"product_id":"kobra-s1","title":"Anycubic Kobra S1","description":"\u003cp\u003eAnycubic Kobra S1\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"Kobra S1 \/ 無","offer_id":48081215553792,"sku":"KBS1BK0A-R","price":62999.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 \/ 4KG PLA High Speed","offer_id":48081215619328,"sku":"KBS1BK0A+4HHS-R","price":71698.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 \/ 4KG PLA Special","offer_id":48081215652096,"sku":"KBS1BK0A+4HPT-R","price":71498.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Combo  (4色) \/ 無","offer_id":48081215717632,"sku":"KS1CBK0A-R","price":72499.0,"currency_code":"JPY","in_stock":false},{"title":"Kobra S1 Combo  (4色) \/ 4KG PLA High Speed","offer_id":48081215783168,"sku":"KS1CBK0A+4HHS-R","price":81198.0,"currency_code":"JPY","in_stock":false},{"title":"Kobra S1 Combo  (4色) \/ 4KG PLA Special","offer_id":48081215815936,"sku":"KS1CBK0A+4HPT-R","price":80998.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/S1-JP.jpg?v=1788938739"},{"product_id":"photon-mono-m7-max","title":"Anycubic Photon Mono M7 Max","description":"\u003cp\u003eAnycubic Photon Mono M7 Max\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"無 \/ 無","offer_id":48081233215744,"sku":"PM7MBK0B+ACC-R","price":110399.0,"currency_code":"JPY","in_stock":true},{"title":"無 \/ 1KGレジン","offer_id":48081233346816,"sku":"PM7MBK0B1000-R","price":112706.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 3KGレジン","offer_id":48081233477888,"sku":"PM7MBK0B3000-R","price":116282.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 5KGレジン","offer_id":48081233608960,"sku":"PM7MBK0B5000-R","price":119858.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 無","offer_id":48081233740032,"sku":"PM7MBK0B+WS3LA0WH-R","price":132398.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Plus \/ 1KGレジン","offer_id":48081233871104,"sku":"PM7MBK0B1000+WS3LA0WH-R","price":134705.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 3KGレジン","offer_id":48081234002176,"sku":"PM7MBK0B3000+WS3LA0WH-R","price":138281.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 5KGレジン","offer_id":48081234133248,"sku":"PM7MBK0B5000+WS3LA0WH-R","price":141857.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 無","offer_id":48081234264320,"sku":"PM7MBK0B+WC3MWH0A-R","price":157598.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Max \/ 1KGレジン","offer_id":48081234395392,"sku":"PM7MBK0B1000+WC3MWH0A-R","price":159905.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 3KGレジン","offer_id":48081234526464,"sku":"PM7MBK0B3000+WC3MWH0A-R","price":163481.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max \/ 5KGレジン","offer_id":48081234657536,"sku":"PM7MBK0B5000+WC3MWH0A-R","price":167057.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/M7M_cfb4b08a-cb40-46dc-812d-af8a4b6c20fe.jpg?v=1788938661"},{"product_id":"photon-mono-m7","title":"Anycubic Photon Mono M7","description":"\u003cp\u003eAnycubic Photon Mono M7\u003c\/p\u003e\n\u003c!----\u003e","brand":"ANYCUBIC","offers":[{"title":"無 \/ 無","offer_id":48081229742336,"sku":"PM70BK0A+ACC-R","price":61499.0,"currency_code":"JPY","in_stock":true},{"title":"無 \/ 1KG","offer_id":48081229840640,"sku":"PM70BK0A1000-R","price":63806.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 3KG","offer_id":48081229938944,"sku":"PM70BK0A3000-R","price":67382.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 5KG","offer_id":48081230037248,"sku":"PM70BK0A5000-R","price":70958.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 無","offer_id":48081230135552,"sku":"PM70BK0A+WS3LA0WH-R","price":83498.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Plus \/ 1KG","offer_id":48081230233856,"sku":"PM70BK0A1000+WS3LA0WH-R","price":85805.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 3KG","offer_id":48081230332160,"sku":"PM70BK0A3000+WS3LA0WH-R","price":89381.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 5KG","offer_id":48081230430464,"sku":"PM70BK0A5000+WS3LA0WH-R","price":92957.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/M7-JP.jpg?v=1788938534"},{"product_id":"photon-mono-4-ultra","title":"Anycubic Photon Mono 4 Ultra","description":"\u003cp\u003eAnycubic Photon Mono 4 ultra\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"無 \/ 無","offer_id":48081231642880,"sku":"PM4UBK0A+ACC-R","price":44099.0,"currency_code":"JPY","in_stock":true},{"title":"無 \/ 1KG レジン","offer_id":48081231773952,"sku":"PM4UBK0A1000-R","price":46406.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 3KG レジン","offer_id":48081231905024,"sku":"PM4UBK0A3000-R","price":49982.0,"currency_code":"JPY","in_stock":false},{"title":"無 \/ 5KG レジン","offer_id":48081232036096,"sku":"PM4UBK0A5000-R","price":53558.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 \/ 無","offer_id":48081232167168,"sku":"PM4UBK0A+WS3A0WH-R","price":54998.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 \/ 1KG レジン","offer_id":48081232298240,"sku":"PM4UBK0A1000+WS3A0WH-R","price":57305.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 \/ 3KG レジン","offer_id":48081232429312,"sku":"PM4UBK0A3000+WS3A0WH-R","price":60881.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 \/ 5KG レジン","offer_id":48081232560384,"sku":"PM4UBK0A5000+WS3A0WH-R","price":64457.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 無","offer_id":48081232691456,"sku":"PM4UBK0A+WS3LA0WH-R","price":66098.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Plus \/ 1KG レジン","offer_id":48081232822528,"sku":"PM4UBK0A1000+WS3LA0WH-R","price":68405.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 3KG レジン","offer_id":48081232953600,"sku":"PM4UBK0A3000+WS3LA0WH-R","price":71981.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 5KG レジン","offer_id":48081233084672,"sku":"PM4UBK0A5000+WS3LA0WH-R","price":75557.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/M4U-1-JP.jpg?v=1788938470"},{"product_id":"wash-cure-3-max","title":"Anycubic Wash \u0026 Cure 3 Max","description":"\u003cp\u003eAnycubic Wash \u0026amp; Cure 3 Max\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"Wash \u0026 Cure 3 Max","offer_id":48081227383040,"sku":"WC3MWH0A-R","price":50399.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/WC3M-JP.jpg?v=1788938397"},{"product_id":"kobra-s1-max-combo","title":"Anycubic Kobra S1 Max Combo","description":"","brand":"ANYCUBIC","offers":[{"title":"Kobra S1 Max Combo (4色) \/ 無","offer_id":48081263952128,"sku":"KSMCBK0A+ACC-R","price":134099.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PLA Special*4","offer_id":48081263984896,"sku":"KSMCBK0A+4HPT-R","price":142598.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PLA High Speed*4","offer_id":48081264017664,"sku":"KSMCBK0A+4HHS-R","price":142798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo (4色) \/ +PETG*4","offer_id":48081264083200,"sku":"KSMCBK0A+4HPE-R","price":141798.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ 無","offer_id":48081264181504,"sku":"KSMCBK0A+DS20BK2A-R","price":168698.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PLA Special*4","offer_id":48081264214272,"sku":"KSMCBK0A+4HPT+DS20BK2A-R","price":177197.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PLA High Speed*4","offer_id":48081264247040,"sku":"KSMCBK0A+4HHS+DS20BK2A-R","price":177397.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*1 (8色) \/ +PETG*4","offer_id":48081264312576,"sku":"KSMCBK0A+4HPE+DS20BK2A-R","price":176397.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16色) \/ 無","offer_id":48081264410880,"sku":"KSMCBK0A+3DS20BK2A-R","price":237896.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16色) \/ +PLA Special*4","offer_id":48081264443648,"sku":"KSMCBK0A+4HPT+3DS20BK2A-R","price":246395.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16色) \/ +PLA High Speed*4","offer_id":48081264476416,"sku":"KSMCBK0A+4HHS+3DS20BK2A-R","price":246595.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max Combo + ACE 2 Pro*3 (16色) \/ +PETG*4","offer_id":48081264541952,"sku":"KSMCBK0A+4HPE+3DS20BK2A-R","price":245595.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max（ACE 2 Proなし） \/ 無","offer_id":48081264640256,"sku":"KS1MBK0A+ACC-R","price":102499.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max（ACE 2 Proなし） \/ +PLA Special*4","offer_id":48081264673024,"sku":"KS1MBK0A+4HPT-R","price":110998.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max（ACE 2 Proなし） \/ +PLA High Speed*4","offer_id":48081264705792,"sku":"KS1MBK0A+4HHS-R","price":111198.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 Max（ACE 2 Proなし） \/ +PETG*4","offer_id":48081264771328,"sku":"KS1MBK0A+4HPE-R","price":110198.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/S1MC-JP_25e68893-9929-4351-9bc5-1c69312ed704.jpg?v=1788938219"},{"product_id":"kobra-x-combo-3d-printer","title":"Anycubic Kobra X Combo","description":"\/*\n * ------------------------------------------------------------\n * IMPORTANT: The contents of this file are auto-generated.\n *\n * This file may be updated by the Shopify admin theme editor\n * or related systems. Please exercise caution as any changes\n * made to this file may be overwritten.\n * ------------------------------------------------------------\n *\/\n{\n  \"sections\": {\n    \"main\": {\n      \"type\": \"main-product\",\n      \"blocks\": {\n        \"yg_badges_9LQVrQ\": {\n          \"type\": \"yg_badges\",\n          \"settings\": {}\n        },\n        \"title\": {\n          \"type\": \"title\",\n          \"settings\": {\n            \"show_vendor_link\": false,\n            \"title_size\": \"h3\"\n          }\n        },\n        \"price\": {\n          \"type\": \"price\",\n          \"settings\": {\n            \"variant_price\": true\n          }\n        },\n        \"kudosi_ali_reviews_widget_star_rating_zXtR8L\": {\n          \"type\": \"shopify:\/\/apps\/ali-reviews\/blocks\/widget-star-rating\/bf2eea72-0400-4db1-8908-44b7418f9a88\",\n          \"disabled\": true,\n          \"settings\": {\n            \"product\": \"\"\n          }\n        },\n        \"yg_discount_jHxiHJ\": {\n          \"type\": \"yg_discount\",\n          \"settings\": {\n            \"discount_title\": \"{{ product.metafields.custom.product_discount_time.value.product_info_label.value }}\",\n            \"show_count_down\": true,\n            \"discount_code\": \"{{ product.metafields.custom.product_discount_time.value.discount_code.value }}\",\n            \"discount_button\": \"Copy\",\n            \"discount_border_color\": \"rgba(0,0,0,0)\",\n            \"discount_background_color\": \"linear-gradient(90deg, rgba(0, 0, 0, 1), rgba(0, 90, 255, 1) 100%)\",\n            \"discount_title_color\": \"#ffffff\",\n            \"discount_button_color\": \"#ffffff\",\n            \"discount_button_bg_color\": \"#005aff\"\n          }\n        },\n        \"description_cCbXqJ\": {\n          \"type\": \"description\",\n          \"settings\": {\n            \"show_custom_description\": true,\n            \"description\": \"{{ product.metafields.custom.product_info.value.product_features | metafield_tag }}\",\n            \"truncate_description\": 500,\n            \"read_more_button\": \"Read more\"\n          }\n        },\n        \"e592d434-8377-4309-b179-f98d4b3742a2\": {\n          \"type\": \"sale_box\",\n          \"settings\": {\n            \"show_free_shipping_bar\": false,\n            \"enable_compare\": false,\n            \"picker_type\": \"button\",\n            \"enable_color_swatches\": true,\n            \"color_swatches_style\": \"variant\",\n            \"size_chart_enable\": false,\n            \"size_chart_option\": \"size\",\n            \"size_chart_link_label\": \"Size chart\",\n            \"size_chart_page\": \"\",\n            \"quantity_selector_enable\": true,\n            \"show_dynamic_checkout\": true,\n            \"show_gift_card_recipient\": true\n          }\n        },\n        \"custom_liquid_GMxwNJ\": {\n          \"type\": \"custom_liquid\",\n          \"settings\": {\n            \"custom_liquid\": \"\\n\\n\\n\\n    \u003cmeta charset='\\\"UTF-8\\\"'\u003e\\n    \u003cmeta name='\\\"viewport\\\"' content='\\\"width=device-width,' initial-scale='1.0\\\"'\u003e\\n    \u003ctitle\u003eCoupon Component\u003c\/title\u003e\\n    \u003cstyle\u003e\\n        \/* 样式限定到组件内部：不要污染全局样式 *\/\\n        .coupon-container {\\n            --primary-color: #005aff;\\n            --primary-light: #e6f7ff;\\n            --border-color: #d9d9d9;\\n            --text-color: #333;\\n            --text-light: #666;\\n            --white: #ffffff;\\n            --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n            --success-color: #52c41a;\\n            \/* 将字体限定于组件内 *\/\\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\\n        }\\n\\n        \/* 仅在组件内部应用 box-sizing，避免修改全局元素 *\/\\n        .coupon-container,\\n        .coupon-container * {\\n            box-sizing: border-box;\\n        }\\n\\n        .coupon-container {\\n            \/* 默认隐藏；只有接口返回数据时再显示 *\/\\n            \/* display: none; *\/\\n            \/* max-width: 500px; *\/\\n            width: 100%;\\n            border-radius: 12px;\\n            overflow: hidden;\\n            box-shadow: var(--shadow);\\n            background: var(--white);\\n        }\\n\\n        .current-coupon {\\n            background: var(--white);\\n            padding: 20px;\\n            display: flex;\\n            justify-content: space-between;\\n            align-items: center;\\n            border-bottom: 1px solid var(--border-color);\\n            cursor: pointer;\\n            position: relative;\\n        }\\n\\n        .coupon-info {\\n            flex: 1;\\n        }\\n\\n        .coupon-code {\\n            font-size: 20px;\\n            font-weight: 600;\\n            color: var(--primary-color);\\n            margin-bottom: 6px;\\n            display: flex;\\n            align-items: center;\\n            gap: 8px;\\n        }\\n\\n        .coupon-desc {\\n            font-size: 14px;\\n            color: var(--text-light);\\n            display: flex;\\n            align-items: center;\\n            gap: 6px;\\n        }\\n\\n        .coupon-actions {\\n            display: flex;\\n            align-items: center;\\n            gap: 12px;\\n            flex-shrink: 0;\\n        }\\n\\n        .copy-btn {\\n            background: var(--primary-color);\\n            color: var(--white);\\n            border: none;\\n            padding: 8px 16px;\\n            border-radius: 6px;\\n            cursor: pointer;\\n            font-size: 14px;\\n            transition: all 0.2s;\\n            display: flex;\\n            align-items: center;\\n            gap: 6px;\\n        }\\n\\n        .copy-btn:hover {\\n            background: #0048d6;\\n            transform: translateY(-1px);\\n        }\\n\\n        .copy-btn.copied {\\n            background: var(--success-color);\\n        }\\n\\n        .dropdown-btn {\\n            background: none;\\n            border: none;\\n            cursor: pointer;\\n            padding: 8px;\\n            color: var(--text-light);\\n            transition: transform 0.3s ease;\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n        }\\n\\n        .dropdown-btn.open {\\n            transform: rotate(180deg);\\n        }\\n\\n        \/* Header icon sizing *\/\\n        .voucher-icon {\\n            width: 20px;\\n            height: 20px;\\n            vertical-align: middle;\\n            margin-right: 8px;\\n            object-fit: contain;\\n            margin-top: 4px;\\n        }\\n\\n        @media (max-width: 768px) {\\n            .voucher-icon {\\n                width: 18px;\\n                height: 18px;\\n                margin-right: 6px;\\n            }\\n        }\\n\\n        \/* 未登录提示样式与展示控制 *\/\\n        .login-tip {\\n            font-size: 14px;\\n            color: var(--primary-color);\\n        }\\n\\n        .current-coupon.login-required #currentDesc {\\n            display: block;\\n        }\\n\\n        .current-coupon.login-required .dropdown-btn,\\n        .current-coupon.login-required #copyCurrentBtn {\\n            display: none !important;\\n        }\\n\\n        .current-coupon.login-required .coupon-code {\\n            display: none !important;\\n        }\\n\\n        .coupon-list {\\n            background: var(--white);\\n            max-height: 0;\\n            overflow: hidden;\\n            transition: max-height 0.3s ease;\\n        }\\n\\n        .coupon-list.open {\\n            max-height: 400px;\\n            overflow-y: auto;\\n        }\\n\\n        .coupon-item {\\n            padding: 16px 20px;\\n            border-bottom: 1px solid var(--border-color);\\n            display: flex;\\n            justify-content: space-between;\\n            align-items: center;\\n            transition: background 0.2s;\\n        }\\n\\n        .coupon-item:hover {\\n            background: var(--primary-light);\\n        }\\n\\n        .coupon-item:last-child {\\n            border-bottom: none;\\n        }\\n\\n        .coupon-item .coupon-code {\\n            font-size: 16px;\\n        }\\n\\n        .coupon-item .copy-btn {\\n            padding: 6px 12px;\\n            font-size: 12px;\\n        }\\n\\n        \/* Voucher header styles *\/\\n        .voucher-header {\\n            font-size: 16px;\\n            font-weight: 600;\\n            color: var(--text-color);\\n        }\\n\\n        .voucher-header .count {\\n            font-weight: 400;\\n            color: var(--text-light);\\n            margin-left: 6px;\\n        }\\n\\n        .voucher-main {\\n            margin-top: 6px;\\n            font-size: 18px;\\n            color: var(--primary-color);\\n            font-weight: 700;\\n        }\\n\\n        .voucher-sub {\\n            font-size: 12px;\\n            color: var(--text-light);\\n            margin-top: 6px;\\n        }\\n\\n        .voucher-valid {\\n            font-size: 12px;\\n            color: var(--text-light);\\n            margin-top: 4px;\\n            display: flex;\\n            align-items: center;\\n            gap: 6px;\\n        }\\n\\n        .expired {\\n            color: #999;\\n            opacity: 0.7;\\n        }\\n\\n        .expired .coupon-code {\\n            color: #999;\\n            text-decoration: line-through;\\n        }\\n\\n        .expired .copy-btn {\\n            background: #ccc;\\n            cursor: not-allowed;\\n        }\\n\\n        .expired .copy-btn:hover {\\n            transform: none;\\n            background: #ccc;\\n        }\\n\\n        .ac_icon {\\n            width: 16px;\\n            height: 16px;\\n        }\\n\\n        .tag {\\n            background: var(--primary-light);\\n            color: var(--primary-color);\\n            padding: 2px 6px;\\n            border-radius: 4px;\\n            font-size: 12px;\\n            margin-left: 8px;\\n        }\\n\\n        .loading {\\n            text-align: center;\\n            padding: 20px;\\n            color: var(--text-light);\\n        }\\n\\n        .error {\\n            text-align: center;\\n            padding: 20px;\\n            color: #ff4d4f;\\n            background: #fff2f0;\\n            border-radius: 6px;\\n            margin: 10px;\\n        }\\n\\n        @media (max-width: 480px) {\\n            body {\\n                padding: 10px;\\n            }\\n\\n            .current-coupon {\\n                padding: 16px;\\n                flex-direction: column;\\n                align-items: flex-start;\\n                gap: 12px;\\n            }\\n\\n            .coupon-actions {\\n                justify-content: space-between;\\n            }\\n\\n            .coupon-code {\\n                font-size: 18px;\\n            }\\n\\n            .coupon-item {\\n                padding: 14px 16px;\\n            }\\n        }\\n\\n        \/* 默认仅展示标题与数量：隐藏详情与复制按钮 *\/\\n        .current-coupon .voucher-main,\\n        .current-coupon #currentDesc,\\n        .current-coupon #copyCurrentBtn {\\n            display: none;\\n        }\\n\\n        \/* 下拉展开时顶部不要展示复制按钮（保持隐藏） *\/\\n        .current-coupon.details-open #copyCurrentBtn {\\n            display: none;\\n        }\\n\\n        \/* 移动端优化 *\/\\n        @media (max-width: 768px) {\\n            .coupon-container {\\n                border-radius: 8px;\\n                box-shadow: none;\\n            }\\n\\n            .coupon-info {\\n                flex: 1 1 auto;\\n            }\\n\\n            .current-coupon {\\n                padding: 12px 14px;\\n                flex-direction: row;\\n                gap: 10px;\\n            }\\n\\n            .coupon-actions {\\n                gap: 8px;\\n            }\\n\\n            .coupon-code {\\n                font-size: 16px;\\n                gap: 6px;\\n                overflow: hidden;\\n                text-overflow: ellipsis;\\n                white-space: nowrap;\\n            }\\n\\n            .ac_icon {\\n                width: 14px;\\n                height: 14px;\\n            }\\n\\n            .dropdown-btn svg {\\n                width: 18px;\\n                height: 18px;\\n            }\\n\\n            .coupon-list.open {\\n                max-height: 60vh;\\n            }\\n\\n            .coupon-item {\\n                padding: 12px 14px;\\n                flex-direction: column;\\n                align-items: flex-start;\\n                gap: 8px;\\n            }\\n\\n            .coupon-item .coupon-code {\\n                font-size: 15px;\\n            }\\n\\n            .coupon-item .copy-btn {\\n                width: 100%;\\n                justify-content: center;\\n                padding: 10px 12px;\\n            }\\n\\n            .voucher-sub,\\n            .voucher-valid {\\n                font-size: 12px;\\n            }\\n        }\\n    \u003c\/style\u003e\\n\\n\\n\\n    \u003cdiv class='\\\"coupon-container\\\"'\u003e\\n        \u003cdiv class='\\\"current-coupon\\\"' id='\\\"currentCoupon\\\"'\u003e\\n            \u003cdiv class='\\\"coupon-info\\\"'\u003e\\n                \u003cdiv class='\\\"coupon-code\\\"' id='\\\"currentCode\\\"'\u003e\\n                    \u003csvg class='\\\"ac_icon\\\"' viewbox='\\\"0' fill='\\\"currentColor\\\"'\u003e\\n                        \u003cpath d='\\\"M20'\u003e\u003c\/path\u003e\\n                    \u003c\/svg\u003e\\n                    \u003cspan\u003eLoading...\u003c\/span\u003e\\n                    \u003cspan class='\\\"tag\\\"'\u003eLatest\u003c\/span\u003e\\n                \u003c\/div\u003e\\n                \u003cdiv class='\\\"coupon-desc\\\"' id='\\\"currentDesc\\\"'\u003e\\n                    \u003csvg class='\\\"ac_icon\\\"' viewbox='\\\"0' fill='\\\"currentColor\\\"'\u003e\\n                        \u003cpath d='\\\"M11.99'\u003e\u003c\/path\u003e\\n                    \u003c\/svg\u003e\\n                    \u003cspan\u003eLoading coupon information...\u003c\/span\u003e\\n                \u003c\/div\u003e\\n            \u003c\/div\u003e\\n            \u003cdiv class='\\\"coupon-actions\\\"'\u003e\\n                \u003cbutton class='\\\"copy-btn\\\"' id='\\\"copyCurrentBtn\\\"' disabled\u003e\\n                    \u003csvg class='\\\"ac_icon\\\"' viewbox='\\\"0' fill='\\\"currentColor\\\"'\u003e\\n                        \u003cpath d='\\\"M16' .9-2\u003e\u003c\/path\u003e\\n                    \u003c\/svg\u003e\\n                    Copy\\n                \u003c\/button\u003e\\n                \u003cbutton class='\\\"dropdown-btn\\\"' id='\\\"dropdownBtn\\\"'\u003e\\n                    \u003csvg width='\\\"20\\\"' height='\\\"20\\\"' viewbox='\\\"0' fill='\\\"currentColor\\\"'\u003e\\n                        \u003cpath d='\\\"M7.41'\u003e\u003c\/path\u003e\\n                    \u003c\/svg\u003e\\n                \u003c\/button\u003e\\n            \u003c\/div\u003e\\n        \u003c\/div\u003e\\n        \u003cdiv class='\\\"coupon-list\\\"' id='\\\"couponList\\\"'\u003e\\n            \u003cdiv class='\\\"loading\\\"'\u003e\u003c\/div\u003e\\n        \u003c\/div\u003e\\n    \u003c\/div\u003e\\n\\n    \u003cscript\u003e\\n        \/\/ Shopify Configuration\\n        let urlSite = `au`\\n        let copdes = '$45 OFF';\\n        const subtitle = '*For Kobra X Only';\\n\\n        let logtip = `Log in to View Your Deposit Vouche`\\n        let copTitle = `My Deposit Voucher`\\n        let noCopTip = `No available coupons`\\n        let loadingTip = `Loading coupons...`\\n\\n        const SHOPIFY_CONFIG = {\\n            \/\/ 在Shopify主题配置中设置这些值\\n            apiUrl: 'https:\/\/shopify.makeronline.com\/discount.php', \/\/ Shopify配置中的API URL\\n            encryptionKey: '8738bc788738bc788738bc788738bc78', \/\/ Shopify配置中的加密秘钥\\n            site: urlSite, \/\/ Shopify配置中的站点信息\\n        };\\n\\n        \/\/ 如果Shopify配置不可用，使用默认值（开发环境）\\n        const CONFIG = {\\n            encryptionKey: SHOPIFY_CONFIG.encryptionKey.includes('settings.') ? 'your-encryption-key-here' : SHOPIFY_CONFIG.encryptionKey,\\n            apiUrl: SHOPIFY_CONFIG.apiUrl.includes('settings.') ? 'https:\/\/shopify-mo-itdev.anycubic.com\/discount.php' : SHOPIFY_CONFIG.apiUrl,\\n            site: SHOPIFY_CONFIG.site.includes('settings.') ? 'uk' : SHOPIFY_CONFIG.site\\n        };\\n\\n        \/\/ DOM Elements\\n        const currentCouponEl = document.getElementById('currentCoupon');\\n        const currentCodeEl = document.getElementById('currentCode');\\n        const currentDescEl = document.getElementById('currentDesc');\\n        const copyCurrentBtn = document.getElementById('copyCurrentBtn');\\n        const dropdownBtn = document.getElementById('dropdownBtn');\\n        const couponListEl = document.getElementById('couponList');\\n\\n        function getShopifyCustomerEmail() {\\n\\n            \/\/ 方法1: 从Shopify客户对象获取\\n            if (typeof Customer !== 'undefined' \u0026\u0026 Customer.email) {\\n                return Customer.email;\\n            }\\n\\n            \/\/ 方法2: 从Shopify全局变量获取\\n            if (typeof window !== 'undefined' \u0026\u0026 window.Shopify) {\\n                return window.userEmail;\\n            }\\n\\n            \/\/ 方法3: 从页面元素中获取（如果Shopify主题有显示邮箱）\\n            const emailElement = document.querySelector('.customer-email, [data-customer-email]');\\n            if (emailElement) {\\n                return emailElement.textContent.trim();\\n            }\\n\\n            \/\/ 方法4: 从URL参数获取（适用于邮件链接等场景）\\n            const urlParams = new URLSearchParams(window.location.search);\\n            const emailFromUrl = urlParams.get('email');\\n            if (emailFromUrl) {\\n                return emailFromUrl;\\n            }\\n\\n            console.warn('无法获取客户邮箱，请确保客户已登录');\\n            return null;\\n        }\\n\\n        async function encryptEmail(email, key) {\\n            try {\\n                const isHexKey = \/^[0-9a-fA-F]+$\/.test(key);\\n                const keyBytes = isHexKey ? CryptoJS.enc.Hex.parse(key) : CryptoJS.enc.Utf8.parse(key);\\n\\n                const FIXED_IV_HEX = '036bfbb1696501dff6cacf378cd57aa4';\\n                const iv = CryptoJS.enc.Hex.parse(FIXED_IV_HEX);\\n\\n                const encrypted = CryptoJS.AES.encrypt(email, keyBytes, {\\n                    iv: iv,\\n                    mode: CryptoJS.mode.CBC,\\n                    padding: CryptoJS.pad.Pkcs7\\n                });\\n\\n                const ivHex = FIXED_IV_HEX;\\n                const cipherBase64 = CryptoJS.enc.Base64.stringify(encrypted.ciphertext);\\n\\n                return cipherBase64;\\n            } catch (e) {\\n                console.error('加密失败:', e);\\n                throw e;\\n            }\\n        }\\n\\n        \/\/ 初始化函数\\n        async function initCouponComponent() {\\n            try {\\n                \/\/ 显示加载状态\\n                showLoadingState();\\n\\n                \/\/ 获取客户邮箱\\n                const customerEmail = getShopifyCustomerEmail()\\n                \/\/ const customerEmail = ''\\n\\n                \/\/ 未登录：展示登录提示并绑定跳转\\n                if (!customerEmail) {\\n                    let container = document.querySelector('.coupon-container');\\n                    if (container) container.style.display = '';\\n\\n                    const count = 0;\\n                    const isMobileHeader = window.matchMedia('(max-width: 768px)').matches;\\n                    const headerIconSrc = isMobileHeader\\n                        ? 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/coupon_icon_50px_scaled_with_padding.png?v=1762428661'\\n                        : 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/1_23ca0e47-6eaa-4ccd-9200-10f3665e1207.png?v=1762428661';\\n                    currentCodeEl.innerHTML = `\u003cimg src=\\\"${headerIconSrc}\\\" alt=\\\"coupon\\\" class=\\\"voucher-icon\\\" \/\u003e\\n                        \u003cdiv class=\\\"voucher-header\\\"\u003e${copTitle} \u003cspan class=\\\"count\\\"\u003e(${count})\u003c\/span\u003e\u003c\/div\u003e`;\\n                    currentDescEl.innerHTML = `\u003cdiv class=\\\"login-tip\\\"\u003e${logtip}r\u003c\/div\u003e`;\\n\\n                    \/\/ 计算登录 URL\\n                    let loginHref = '\/account\/login';\\n                    const loginEl = document.getElementById('iconAccHide');\\n                    if (loginEl) {\\n                        if (loginEl.tagName \u0026\u0026 loginEl.tagName.toLowerCase() === 'a' \u0026\u0026 loginEl.href) {\\n                            loginHref = loginEl.href + `${window.location.href ? '\u0026redirect_uri=' + encodeURIComponent(window.location.href) : ''}`;\\n                        } else {\\n                            const a = loginEl.querySelector('a');\\n                            if (a \u0026\u0026 a.href) loginHref = a.href;\\n                        }\\n                    }\\n\\n                    \/\/ 标记登录态并绑定点击跳转\\n                    currentCouponEl.classList.add('login-required');\\n                    currentCouponEl.dataset.loginHref = loginHref;\\n                    dropdownBtn.style.display = 'none';\\n                    copyCurrentBtn.style.display = 'none';\\n                    couponListEl.innerHTML = '';\\n\\n                    \/\/ 点击当前区域跳转登录\\n                    currentCouponEl.addEventListener('click', function () {\\n                        const url = this.dataset.loginHref || '\/account\/login';\\n                        window.location.href = url;\\n                    });\\n\\n                    return;\\n                }\\n\\n                const encryptedEmail = await encryptEmail(customerEmail, CONFIG.encryptionKey);\\n                const coupons = await fetchCoupons(encryptedEmail);\\n\\n                if (coupons \u0026\u0026 coupons.length \u003e 0) {\\n                    \/\/ 只有在接口有数据时才显示组件\\n                    \/\/ 如果之前因为没有 email 或无数据被移除，则尝试恢复备份\\n                    let container = document.querySelector('.coupon-container');\\n                    if (!container \u0026\u0026 window.__couponComponentBackup \u0026\u0026 window.__couponComponentPlaceholder) {\\n                        try {\\n                            window.__couponComponentPlaceholder.parentNode.replaceChild(window.__couponComponentBackup, window.__couponComponentPlaceholder);\\n                            container = window.__couponComponentBackup;\\n                            \/\/ 清理临时备份\\n                            window.__couponComponentBackup = null;\\n                            window.__couponComponentPlaceholder = null;\\n                        } catch (e) {\\n                            console.warn('Failed to restore coupon component from backup', e);\\n                        }\\n                    }\\n                    if (container) container.style.display = '';\\n\\n                    \/\/ 显示最新优惠券（传入总数以显示计数）\\n                    updateCurrentCoupon(coupons[0], coupons.length);\\n\\n                    if (coupons.length == 0) {\\n                        \/\/ 只有一张券：隐藏下拉按钮和列表，不生成列表\\n                        if (dropdownBtn) dropdownBtn.style.display = 'none';\\n                        couponListEl.innerHTML = '';\\n                    } else {\\n                        \/\/ 多于一张券：生成列表并显示下拉按钮\\n                        if (dropdownBtn) dropdownBtn.style.display = '';\\n                        renderCouponList(coupons);\\n                    }\\n                } else {\\n                    \/\/ 无数据：移除组件并插入注释占位符（便于调试）\\n                    const container = document.querySelector('.coupon-container');\\n                    if (container \u0026\u0026 container.parentNode) {\\n                        window.__couponComponentBackup = container;\\n                        const placeholder = document.createComment('coupon-component:removed:no-coupons');\\n                        container.parentNode.replaceChild(placeholder, container);\\n                        window.__couponComponentPlaceholder = placeholder;\\n                    }\\n                }\\n\\n                \/\/ 添加事件监听\\n                addEventListeners();\\n\\n            } catch (error) {\\n                console.error('Error initializing coupon component:', error);\\n                showErrorMessage('Failed to load coupons. Please try again later.');\\n            }\\n        }\\n\\n        \/\/ 获取优惠券数据\\n        async function fetchCoupons(encryptedEmail) {\\n            try {\\n                const requestData = {\\n                    site: CONFIG.site,\\n                    key: encryptedEmail,\\n                    productType: `kx`\\n                };\\n\\n                const query = new URLSearchParams(requestData).toString();\\n                \/\/ 使用 GET 请求；不设置 Content-Type 为 application\/json（会触发 CORS 预检），仅设置 Accept\\n                const response = await fetch(`${CONFIG.apiUrl}?${query}`, {\\n                    method: 'GET',\\n                    headers: {\\n                        'Accept': 'application\/json'\\n                    }\\n                });\\n\\n                if (!response.ok) {\\n                    throw new Error(`HTTP error! status: ${response.status}`);\\n                }\\n\\n                const data = await response.json();\\n                console.log(data);\\n\\n                \/\/ 转换API响应格式（根据后端返回字段 start_at \/ ends_at）\\n                if (data \u0026\u0026 data.data) {\\n                    return data.data.map((coupon, index) =\u003e ({\\n                        id: index + 1,\\n                        code: coupon.code,\\n                        description: copdes,\\n                        startAt: coupon.start_at || coupon.startAt || null,\\n                        endsAt: coupon.ends_at || coupon.endsAt || null,\\n                        isExpired: isCouponExpired(coupon.ends_at || coupon.endsAt || null),\\n                        isNew: index === 0\\n                    }));\\n                } else {\\n                    const container = document.querySelector('.coupon-container');\\n                    if (container) container.style.display = 'none';\\n                }\\n\\n                return [];\\n            } catch (error) {\\n                console.error('Error fetching coupons:', error);\\n                throw error;\\n            }\\n        }\\n\\n        \/\/ 检查优惠券是否过期\\n        function isCouponExpired(endsAt) {\\n            if (!endsAt) return true;\\n\\n            const endDate = new Date(endsAt);\\n            const now = new Date();\\n\\n            return endDate \u003c now;\\n        }\\n\\n        \/\/ 格式化日期显示\\n        function formatDate(dateString) {\\n            if (!dateString) return 'Unknown';\\n\\n            const date = new Date(dateString);\\n            return date.toLocaleDateString('en-ca', {\\n                year: 'numeric',\\n                month: 'short',\\n                day: 'numeric'\\n            });\\n        }\\n\\n        \/\/ 显示加载状态\\n        function showLoadingState() {\\n            \/\/ 显示默认标题和加载状态（默认只展示标题与数量）\\n            const count = 0;\\n            const isMobileHeader = window.matchMedia('(max-width: 768px)').matches;\\n            const headerIconSrc = isMobileHeader\\n                ? 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/1_1.png?v=1762480315'\\n                : 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/1_1.png?v=1762480315';\\n            currentCodeEl.innerHTML = `\u003cimg src=\\\"${headerIconSrc}\\\" alt=\\\"coupon\\\" class=\\\"voucher-icon\\\" \/\u003e\\n                \u003cdiv class=\\\"voucher-header\\\"\u003e${copTitle} \u003cspan class=\\\"count\\\"\u003e(${count})\u003c\/span\u003e\u003c\/div\u003e`;\\n            currentDescEl.innerHTML = `\u003cdiv class=\\\"loading\\\"\u003eLoading coupon information...\u003c\/div\u003e`;\\n            copyCurrentBtn.disabled = true;\\n\\n            couponListEl.innerHTML = `\u003cdiv class=\\\"loading\\\"\u003e${loadingTip}\u003c\/div\u003e`;\\n        }\\n\\n        \/\/ 显示错误信息\\n        function showErrorMessage(message) {\\n            couponListEl.innerHTML = `\u003cdiv class=\\\"error\\\"\u003e${message}\u003c\/div\u003e`;\\n\\n            const codeSpan = currentCodeEl.querySelector('span:nth-child(2)');\\n            const descSpan = currentDescEl.querySelector('span');\\n\\n            codeSpan.textContent = 'Error';\\n            descSpan.textContent = 'Failed to load coupons';\\n        }\\n\\n        \/\/ 显示无优惠券信息\\n        function showNoCouponsMessage() {\\n            couponListEl.innerHTML = '\u003cdiv class=\\\"loading\\\"\u003e${noCopTip}\u003c\/div\u003e';\\n\\n            const codeSpan = currentCodeEl.querySelector('span:nth-child(2)');\\n            const descSpan = currentDescEl.querySelector('span');\\n\\n            codeSpan.textContent = 'No Coupons';\\n            descSpan.textContent = 'You have no available coupons at this time';\\n            copyCurrentBtn.disabled = true;\\n        }\\n\\n        \/\/ 更新当前显示的优惠券\\n        function updateCurrentCoupon(coupon, totalCount) {\\n            const count = typeof totalCount === 'number' ? totalCount : 1;\\n\\n            const mainTitle = `$100 OFF ${coupon.code}`;\\n\\n            function formatShortNoSpace(d) {\\n                if (!d) return 'Unknown';\\n                const date = new Date(d);\\n                const month = date.toLocaleString('en-ca', { month: 'short' });\\n                const day = date.getDate();\\n                const year = date.getFullYear();\\n                return `${month} ${day},${year}`; \/\/ e.g. Nov 25,2025\\n            }\\n\\n            const start = formatShortNoSpace(coupon.startAt || coupon.start_at);\\n            const end = formatShortNoSpace(coupon.endsAt || coupon.ends_at);\\n            const validLine = `Valid: ${start}-${end}`;\\n\\n            \/\/ 顶部仅展示标题与数量，不增添其他详情元素\\n            const isMobileLoading = window.matchMedia('(max-width: 768px)').matches;\\n            const loadingIconSrc = isMobileLoading\\n                ? 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/1_1.png?v=1762480315'\\n                : 'https:\/\/cdn.shopify.com\/s\/files\/1\/0736\/0787\/2764\/files\/1_1.png?v=1762480315';\\n            currentCodeEl.innerHTML = `\u003cimg src=\\\"${loadingIconSrc}\\\" alt=\\\"coupon\\\" class=\\\"voucher-icon\\\" \/\u003e\\n                \u003cdiv class=\\\"voucher-header\\\"\u003e${copTitle} \u003cspan class=\\\"count\\\"\u003e(${count})\u003c\/span\u003e\u003c\/div\u003e`;\\n            currentDescEl.innerHTML = ``;\\n\\n            \/\/ 处理过期与复制按钮\\n            if (coupon.isExpired) {\\n                currentCouponEl.classList.add('expired');\\n                copyCurrentBtn.disabled = true;\\n            } else {\\n                currentCouponEl.classList.remove('expired');\\n                copyCurrentBtn.disabled = false;\\n            }\\n\\n            copyCurrentBtn.setAttribute('data-code', coupon.code);\\n        }\\n\\n        \/\/ 渲染优惠券列表\\n        function renderCouponList(coupons) {\\n            couponListEl.innerHTML = '';\\n\\n            coupons.forEach(coupon =\u003e {\\n                const couponItem = document.createElement('div');\\n                couponItem.className = `coupon-item ${coupon.isExpired ? 'expired' : ''}`;\\n\\n                \/\/ 列表项中展示开始与结束时间，并移动顶部的说明与有效期到这里\\n                const startLabel = formatDate(coupon.startAt);\\n                const endLabel = formatDate(coupon.endsAt);\\n\\n                couponItem.innerHTML = `\\n                    \u003cdiv class=\\\"coupon-info\\\"\u003e\\n                        \u003cdiv class=\\\"coupon-code\\\"\u003e\\n                            \u003csvg class=\\\"ac_icon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"currentColor\\\"\u003e\\n                                \u003cpath d=\\\"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\\\"\/\u003e\\n                            \u003c\/svg\u003e\\n                            \u003cspan\u003e${coupon.code}\u003c\/span\u003e\\n                            ${coupon.isNew ? '\u003cspan class=\\\"tag\\\"\u003eLatest\u003c\/span\u003e' : ''}\\n                        \u003c\/div\u003e\\n                        \u003cdiv class=\\\"coupon-desc\\\"\u003e\\n                            \u003csvg class=\\\"ac_icon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"currentColor\\\"\u003e\\n                                \u003cpath d=\\\"M21 12.5l-8.5 8.5-10-10V3h8.5l10 10zM7 7a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\\\"\/\u003e\\n                            \u003c\/svg\u003e\\n                            \u003cspan\u003e${coupon.description}   ${subtitle}\u003c\/span\u003e\\n                        \u003c\/div\u003e\\n                        \u003cdiv class=\\\"voucher-valid\\\"\u003e\\n                            \u003csvg class=\\\"ac_icon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"currentColor\\\"\u003e\\n                                \u003cpath d=\\\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z\\\"\/\u003e\\n                            \u003c\/svg\u003e\\n                            \u003cspan\u003e${startLabel}-${endLabel}\u003c\/span\u003e\\n                        \u003c\/div\u003e\\n                    \u003c\/div\u003e\\n                    \u003cbutton class=\\\"copy-btn\\\" ${coupon.isExpired ? 'disabled' : ''} data-code=\\\"${coupon.code}\\\"\u003e\\n                        \u003csvg class=\\\"ac_icon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"currentColor\\\"\u003e\\n                            \u003cpath d=\\\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\\\"\/\u003e\\n                        \u003c\/svg\u003e\\n                        ${coupon.isExpired ? 'Expired' : 'Copy'}\\n                    \u003c\/button\u003e\\n                `;\\n\\n                couponListEl.appendChild(couponItem);\\n            });\\n        }\\n\\n        \/\/ 添加事件监听\\n        function addEventListeners() {\\n            \/\/ 当前优惠券复制按钮点击事件\\n            copyCurrentBtn.addEventListener('click', function (e) {\\n                e.stopPropagation();\\n                if (!this.disabled) {\\n                    const code = this.getAttribute('data-code');\\n                    copyToClipboard(code, this);\\n                }\\n            });\\n\\n            \/\/ 下拉按钮点击事件\\n            dropdownBtn.addEventListener('click', function (e) {\\n                e.stopPropagation();\\n                toggleCouponList();\\n            });\\n\\n            \/\/ 当前优惠券点击事件\\n            currentCouponEl.addEventListener('click', function (e) {\\n                \/\/ 未登录：保持点击跳转到登录页\\n                if (this.classList.contains('login-required')) {\\n                    const url = this.dataset.loginHref || '\/account\/login';\\n                    window.location.href = url;\\n                    return;\\n                }\\n\\n                \/\/ 防止点击复制按钮时触发列表切换\\n                if (!e.target.closest('.copy-btn')) {\\n                    toggleCouponList();\\n                }\\n            });\\n\\n            \/\/ 列表中的复制按钮点击事件\\n            couponListEl.addEventListener('click', function (e) {\\n                if (e.target.classList.contains('copy-btn') \u0026\u0026 !e.target.disabled) {\\n                    const code = e.target.getAttribute('data-code');\\n                    copyToClipboard(code, e.target);\\n                }\\n            });\\n\\n            \/\/ 点击其他地方关闭下拉列表\\n            document.addEventListener('click', function () {\\n                if (couponListEl.classList.contains('open')) {\\n                    closeCouponList();\\n                }\\n            });\\n        }\\n\\n        \/\/ 切换优惠券列表显示状态\\n        function toggleCouponList() {\\n            \/\/ 如果没有列表项，不允许打开\\n            if (!couponListEl || couponListEl.children.length === 0) return;\\n\\n            if (couponListEl.classList.contains('open')) {\\n                closeCouponList();\\n            } else {\\n                openCouponList();\\n            }\\n        }\\n\\n        \/\/ 打开优惠券列表\\n        function openCouponList() {\\n            couponListEl.classList.add('open');\\n            dropdownBtn.classList.add('open');\\n            currentCouponEl.classList.add('details-open');\\n        }\\n\\n        \/\/ 关闭优惠券列表\\n        function closeCouponList() {\\n            couponListEl.classList.remove('open');\\n            dropdownBtn.classList.remove('open');\\n            currentCouponEl.classList.remove('details-open');\\n        }\\n\\n        \/\/ 复制到剪贴板\\n        function copyToClipboard(text, button) {\\n            const textarea = document.createElement('textarea');\\n            textarea.value = text;\\n            document.body.appendChild(textarea);\\n            textarea.select();\\n            document.execCommand('copy');\\n            document.body.removeChild(textarea);\\n\\n            \/\/ 视觉反馈\\n            const originalText = button.innerHTML;\\n            button.innerHTML = `\\n                \u003csvg class=\\\"ac_icon\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"currentColor\\\"\u003e\\n                    \u003cpath d=\\\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\\\"\/\u003e\\n                \u003c\/svg\u003e\\n                Copied!\\n            `;\\n            button.classList.add('copied');\\n\\n            setTimeout(() =\u003e {\\n                button.innerHTML = originalText;\\n                button.classList.remove('copied');\\n            }, 2000);\\n        }\\n\\n        \/\/ 初始化组件\\n        document.addEventListener('DOMContentLoaded', initCouponComponent);\\n    \u003c\/script\u003e\\n\\n    \u003c!-- 引入CryptoJS库用于加密 --\u003e\\n    \u003cscript src='\\\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/crypto-js\/4.1.1\/crypto-js.min.js\\\"'\u003e\u003c\/script\u003e\\n\\n\\n\"\n          }\n        },\n        \"information_group_QfWygb\": {\n          \"type\": \"information_group\",\n          \"settings\": {\n            \"brand_enable\": false,\n            \"brand_label\": \"\",\n            \"stock_enable\": false,\n            \"stock_label\": \"Availability\",\n            \"inventory_threshold\": 10,\n            \"show_inventory_quantity\": true,\n            \"sku_enable\": false,\n            \"sku_label\": \"SKU\",\n            \"barcode_enable\": false,\n            \"barcode_label\": \"Barcode\",\n            \"tags_enable\": false,\n            \"tags_label\": \"Tags\",\n            \"collections_enable\": false,\n            \"collections_label\": \"Collections\",\n            \"additional_information_enable\": true,\n            \"additional_information_label\": \"How It Works\",\n            \"additional_information_content\": \"{{ product.metafields.custom.product_note.value }}\",\n            \"additional_information_label_1\": \"\",\n            \"additional_information_content_1\": \"\",\n            \"additional_information_label_2\": \"\",\n            \"additional_information_content_2\": \"\",\n            \"additional_information_label_3\": \"\",\n            \"additional_information_content_3\": \"\",\n            \"additional_information_label_4\": \"\",\n            \"additional_information_content_4\": \"\",\n            \"additional_information_label_5\": \"\",\n            \"additional_information_content_5\": \"\",\n            \"additional_information_label_6\": \"\",\n            \"additional_information_content_6\": \"\",\n            \"additional_information_label_7\": \"\",\n            \"additional_information_content_7\": \"\",\n            \"additional_information_label_8\": \"\",\n            \"additional_information_content_8\": \"\",\n            \"additional_information_label_9\": \"\",\n            \"additional_information_content_9\": \"\"\n          }\n        },\n        \"complementary_YyQL4T\": {\n          \"type\": \"complementary\",\n          \"settings\": {\n            \"in_the_variants_bottom\": true,\n            \"custom_products\": \"{{ product.metafields.custom.product_info.value.recommend_products.value }}\",\n            \"block_heading\": \"50% Off Add-On\",\n            \"make_collapsible_row\": true,\n            \"icon\": \"menu_alt_2\",\n            \"product_list_limit\": 6,\n            \"total_enable\": false,\n            \"total_label\": \"Total:\",\n            \"button_enable\": false,\n            \"button_label\": \"Add items to cart\",\n            \"image_ratio\": \"square\"\n          }\n        },\n        \"yg_payment_delivery_JcpBeF\": {\n          \"type\": \"yg_payment_delivery\",\n          \"settings\": {\n            \"icon_1\": \"shopify:\/\/shop_images\/truck-line_81b87f9f-6d14-4103-a724-083868f9eb91.svg\",\n            \"title_1\": \"Estimated Shipping Time\",\n            \"icon_2\": \"shopify:\/\/shop_images\/shield-check-line_bb5bbe09-7f8f-4324-b485-63fa989c9ad8.svg\",\n            \"title_2\": \"Payment Methods\",\n            \"icon_3\": \"shopify:\/\/shop_images\/dropbox-line.svg\",\n            \"title_3\": \"Delivery Method\",\n            \"content_icon_1\": \"shopify:\/\/shop_images\/Credit_Cards_1.svg\",\n            \"content_icon_2\": \"shopify:\/\/shop_images\/Credit_Cards.svg\"\n          }\n        },\n        \"yg_icon_list_PxXMfG\": {\n          \"type\": \"yg_icon_list\",\n          \"settings\": {\n            \"below_the_media\": true,\n            \"icon_1\": \"shopify:\/\/shop_images\/truck-line_81b87f9f-6d14-4103-a724-083868f9eb91_1.svg\",\n            \"title_1\": \"Free Express Shipping\",\n            \"icon_2\": \"shopify:\/\/shop_images\/box-3-line.svg\",\n            \"title_2\": \"14-Day No Reason Return\",\n            \"icon_3\": \"shopify:\/\/shop_images\/customer-service-2-line.svg\",\n            \"title_3\": \"30-Day After-Sales Guarantee\",\n            \"icon_4\": \"shopify:\/\/shop_images\/shield-check-line.svg\",\n            \"title_4\": \"1-Year Warranty For 3D Printers\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"yg_badges_9LQVrQ\",\n        \"title\",\n        \"price\",\n        \"kudosi_ali_reviews_widget_star_rating_zXtR8L\",\n        \"yg_discount_jHxiHJ\",\n        \"description_cCbXqJ\",\n        \"e592d434-8377-4309-b179-f98d4b3742a2\",\n        \"custom_liquid_GMxwNJ\",\n        \"information_group_QfWygb\",\n        \"complementary_YyQL4T\",\n        \"yg_payment_delivery_JcpBeF\",\n        \"yg_icon_list_PxXMfG\"\n      ],\n      \"custom_css\": [\n        \".information .font-body-semi-bold {overflow-wrap: anywhere;}\",\n        \".complementary__item__title {font-size: 14px !important;}\"\n      ],\n      \"settings\": {\n        \"section_width\": \"page-width\",\n        \"use_background_input\": true,\n        \"enable_sticky_info\": true,\n        \"enable_sticky_cart\": true,\n        \"enable_sticky_info_pc\": true,\n        \"sticky_cart\": \"always\",\n        \"show_next_prev_products\": true,\n        \"auto_scroll_up_mobile\": false,\n        \"default_image\": \"product_featured_image\",\n        \"media_position\": \"left\",\n        \"gallery_layout\": \"thumbnail_slider_vertical\",\n        \"thumbnail_position\": \"left\",\n        \"media_size\": \"small\",\n        \"image_ratio\": \"adapt\",\n        \"image_fit\": true,\n        \"disable_images_lightbox\": false,\n        \"mobile_thumbnails\": \"hide\",\n        \"hide_variants\": false,\n        \"enable_video_looping\": false,\n        \"show_custom_badges_on\": \"all\",\n        \"custom_badges_position\": \"right\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0\n      }\n    },\n    \"yg_anchor_tab_WHGK7n\": {\n      \"type\": \"yg-anchor-tab\",\n      \"blocks\": {\n        \"anchor_yg7JjD\": {\n          \"type\": \"anchor\",\n          \"disabled\": true,\n          \"settings\": {\n            \"text\": \"Early Bird Timeline\",\n            \"section_number\": 4\n          }\n        },\n        \"anchor_LUnbAp\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"Features\",\n            \"section_number\": 5\n          }\n        },\n        \"anchor_6VUXDT\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"Packing List\",\n            \"section_number\": 20\n          }\n        },\n        \"anchor_KgxXME\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"Specifications\",\n            \"section_number\": 21\n          }\n        },\n        \"anchor_Wp99dR\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"Compare\",\n            \"section_number\": 22\n          }\n        },\n        \"anchor_ULkViK\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"Reviews\",\n            \"section_number\": 23\n          }\n        },\n        \"anchor_ELFJVr\": {\n          \"type\": \"anchor\",\n          \"settings\": {\n            \"text\": \"FAQs\",\n            \"section_number\": 24\n          }\n        }\n      },\n      \"block_order\": [\n        \"anchor_yg7JjD\",\n        \"anchor_LUnbAp\",\n        \"anchor_6VUXDT\",\n        \"anchor_KgxXME\",\n        \"anchor_Wp99dR\",\n        \"anchor_ULkViK\",\n        \"anchor_ELFJVr\"\n      ],\n      \"name\": \"YG Anchor Tab\",\n      \"settings\": {\n        \"color_scheme\": \"background-1\",\n        \"padding_top\": 12,\n        \"padding_bottom\": 12,\n        \"padding_top_mobile\": 0,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"video_HbrBV3\": {\n      \"type\": \"video\",\n      \"name\": \"t:sections.video.presets.name\",\n      \"settings\": {\n        \"title\": \"\",\n        \"subtitle\": \"\",\n        \"heading_size\": \"h1\",\n        \"cover_image\": \"shopify:\/\/shop_images\/en-3840_2160.jpg\",\n        \"video_url\": \"https:\/\/youtu.be\/EO0LMdtKnFU\",\n        \"description\": \"\",\n        \"autoplay\": false,\n        \"enable_controls\": false,\n        \"enable_video_looping\": true,\n        \"full_width\": false,\n        \"hide_when_empty_video\": false,\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"padding_top\": 36,\n        \"padding_bottom\": 36\n      }\n    },\n    \"yg_image_list_dNVcBE\": {\n      \"type\": \"yg-image-list\",\n      \"blocks\": {\n        \"item_8eP9qG\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"youtube_url\": \"https:\/\/youtu.be\/Uow4KpLthkc\",\n            \"outside_text\": false,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        },\n        \"item_TF7jry\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"youtube_url\": \"https:\/\/youtu.be\/Rfze0GsOxc0\",\n            \"outside_text\": false,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"item_8eP9qG\",\n        \"item_TF7jry\"\n      ],\n      \"custom_css\": [\n        \"@media (max-width: 768px) {yg-image {aspect-ratio: 15 \/ 9 !important; }}\"\n      ],\n      \"name\": \"YG Image List\",\n      \"settings\": {\n        \"title\": \"\",\n        \"heading_size\": \"h1\",\n        \"heading_alignment\": \"center\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"slides_per_view\": 2,\n        \"slides_per_view_mb\": 1.1,\n        \"padding_top\": 0,\n        \"padding_bottom\": 0,\n        \"padding_top_mobile\": 0,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"yg_image_switch_Mbnkk4\": {\n      \"type\": \"yg-image-switch\",\n      \"blocks\": {\n        \"item_keicHC\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image_pc\": \"shopify:\/\/shop_images\/1.KXC_KSP_PC.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/1.KXC_KSP_M.jpg\",\n            \"label\": \"\",\n            \"title\": \"\",\n            \"des\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"item_keicHC\"\n      ],\n      \"name\": \"YG Image Switch\",\n      \"settings\": {\n        \"title\": \"What Sets the Anycubic Kobra X Combo Apart\",\n        \"heading_size\": \"h2\",\n        \"text_align\": \"center\",\n        \"show_view_all\": false,\n        \"view_all_label\": \"View all\",\n        \"view_all_link\": \"\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"color_background\": \"#ffffff\",\n        \"padding_top\": 12,\n        \"padding_bottom\": 12,\n        \"padding_top_mobile\": 12,\n        \"padding_bottom_mobile\": 12\n      }\n    },\n    \"rich_text_4hyyiq\": {\n      \"type\": \"rich-text\",\n      \"blocks\": {\n        \"heading_cgiQMX\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"\u003cp\u003e\u003cstrong\u003eWhat the Pros Are Saying\u003c\/strong\u003e\u003c\/p\u003e\",\n            \"heading_size\": \"h3\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_cgiQMX\"\n      ],\n      \"name\": \"t:sections.rich-text.presets.name\",\n      \"settings\": {\n        \"desktop_content_position\": \"center\",\n        \"desktop_content_width\": \"large\",\n        \"content_alignment\": \"center\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"full_width\": true,\n        \"padding_top\": 28,\n        \"padding_bottom\": 0,\n        \"padding_top_mobile\": 0,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"yg_slideshow_iY7dNR\": {\n      \"type\": \"yg-slideshow\",\n      \"blocks\": {\n        \"slide_84rbgp\": {\n          \"type\": \"slide\",\n          \"settings\": {\n            \"box_align\": \"center center\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"center center\",\n            \"text_align_mobile\": \"center\",\n            \"box_width\": \"500\",\n            \"image\": \"shopify:\/\/shop_images\/en-pc-All3dp.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/en-m-All3dp.jpg\",\n            \"high_priority\": false,\n            \"subtitle\": \"\",\n            \"title\": \"\",\n            \"title_size\": \"h2\",\n            \"content\": \"\",\n            \"end_time\": \"\",\n            \"button_style\": \"secondary\",\n            \"button_label\": \"\",\n            \"button_link\": \"\",\n            \"button_style_1\": \"secondary\",\n            \"button_label_1\": \"\",\n            \"button_link_1\": \"\",\n            \"text_color\": \"\",\n            \"time_color\": \"\",\n            \"time_bg_color\": \"\",\n            \"button_color\": \"\",\n            \"button_bg_color\": \"\",\n            \"button_color_1\": \"\",\n            \"button_bg_color_1\": \"\"\n          }\n        },\n        \"slide_YByfMy\": {\n          \"type\": \"slide\",\n          \"settings\": {\n            \"box_align\": \"center center\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"center center\",\n            \"text_align_mobile\": \"center\",\n            \"box_width\": \"500\",\n            \"image\": \"shopify:\/\/shop_images\/en-pc-Fabbaloo.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/en-m-Fabbaloo.jpg\",\n            \"high_priority\": false,\n            \"subtitle\": \"\",\n            \"title\": \"\",\n            \"title_size\": \"h2\",\n            \"content\": \"\",\n            \"end_time\": \"\",\n            \"button_style\": \"secondary\",\n            \"button_label\": \"\",\n            \"button_link\": \"\",\n            \"button_style_1\": \"secondary\",\n            \"button_label_1\": \"\",\n            \"button_link_1\": \"\",\n            \"text_color\": \"\",\n            \"time_color\": \"\",\n            \"time_bg_color\": \"\",\n            \"button_color\": \"\",\n            \"button_bg_color\": \"\",\n            \"button_color_1\": \"\",\n            \"button_bg_color_1\": \"\"\n          }\n        },\n        \"slide_qFfpeG\": {\n          \"type\": \"slide\",\n          \"settings\": {\n            \"box_align\": \"center center\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"center center\",\n            \"text_align_mobile\": \"center\",\n            \"box_width\": \"500\",\n            \"image\": \"shopify:\/\/shop_images\/en-pc-Tom_s_Hardware.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/en-m-Tom_s_Hardware.jpg\",\n            \"high_priority\": false,\n            \"subtitle\": \"\",\n            \"title\": \"\",\n            \"title_size\": \"h2\",\n            \"content\": \"\",\n            \"end_time\": \"\",\n            \"button_style\": \"secondary\",\n            \"button_label\": \"\",\n            \"button_link\": \"\",\n            \"button_style_1\": \"secondary\",\n            \"button_label_1\": \"\",\n            \"button_link_1\": \"\",\n            \"text_color\": \"\",\n            \"time_color\": \"\",\n            \"time_bg_color\": \"\",\n            \"button_color\": \"\",\n            \"button_bg_color\": \"\",\n            \"button_color_1\": \"\",\n            \"button_bg_color_1\": \"\"\n          }\n        },\n        \"slide_q7jkeY\": {\n          \"type\": \"slide\",\n          \"settings\": {\n            \"box_align\": \"center center\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"center center\",\n            \"text_align_mobile\": \"center\",\n            \"box_width\": \"500\",\n            \"image\": \"shopify:\/\/shop_images\/en-pc-3D_Print_Beginner.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/en-m-3D-Print-Beginner.jpg\",\n            \"high_priority\": false,\n            \"subtitle\": \"\",\n            \"title\": \"\",\n            \"title_size\": \"h2\",\n            \"content\": \"\",\n            \"end_time\": \"\",\n            \"button_style\": \"secondary\",\n            \"button_label\": \"\",\n            \"button_link\": \"\",\n            \"button_style_1\": \"secondary\",\n            \"button_label_1\": \"\",\n            \"button_link_1\": \"\",\n            \"text_color\": \"\",\n            \"time_color\": \"\",\n            \"time_bg_color\": \"\",\n            \"button_color\": \"\",\n            \"button_bg_color\": \"\",\n            \"button_color_1\": \"\",\n            \"button_bg_color_1\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"slide_84rbgp\",\n        \"slide_YByfMy\",\n        \"slide_qFfpeG\",\n        \"slide_q7jkeY\"\n      ],\n      \"name\": \"YG Slideshow\",\n      \"settings\": {\n        \"full_width\": false,\n        \"autoplay\": true,\n        \"autoplay_delay\": 8,\n        \"color_scheme\": \"\",\n        \"box_padding_block\": 48,\n        \"box_padding_block_mobile\": 48,\n        \"box_padding_inline\": 70,\n        \"padding_top\": 32,\n        \"padding_bottom\": 20,\n        \"padding_top_mobile\": 32,\n        \"padding_bottom_mobile\": 20\n      }\n    },\n    \"yg_image_list_xLtBUq\": {\n      \"type\": \"yg-image-list\",\n      \"blocks\": {\n        \"item_xRJaxh\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/print-model-1380x800-2.jpg\",\n            \"youtube_url\": \"\",\n            \"outside_text\": true,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        },\n        \"item_iKQ8Y9\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/print-model-1380x800-3.jpg\",\n            \"youtube_url\": \"\",\n            \"outside_text\": true,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        },\n        \"item_er4MEL\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/print-model-1380x800-1.jpg\",\n            \"youtube_url\": \"\",\n            \"outside_text\": true,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        },\n        \"item_fA9Xgt\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/print-model-1380x800-4.jpg\",\n            \"youtube_url\": \"\",\n            \"outside_text\": true,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        },\n        \"item_7HqaAP\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/print-model-1380x800-5.jpg\",\n            \"youtube_url\": \"\",\n            \"outside_text\": true,\n            \"title\": \"\",\n            \"color_text\": \"#000000\",\n            \"content\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"item_xRJaxh\",\n        \"item_iKQ8Y9\",\n        \"item_er4MEL\",\n        \"item_fA9Xgt\",\n        \"item_7HqaAP\"\n      ],\n      \"custom_css\": [\n        \".yg-section-title {font-weight: 700;}\"\n      ],\n      \"name\": \"YG Image List\",\n      \"settings\": {\n        \"title\": \"Prints from First Users\",\n        \"heading_size\": \"h2\",\n        \"heading_alignment\": \"center\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"slides_per_view\": 3.4,\n        \"slides_per_view_mb\": 1.1,\n        \"padding_top\": 40,\n        \"padding_bottom\": 40,\n        \"padding_top_mobile\": 32,\n        \"padding_bottom_mobile\": 28\n      }\n    },\n    \"custom_liquid_MJgjd8\": {\n      \"type\": \"custom-liquid\",\n      \"name\": \"t:sections.custom-liquid.presets.name\",\n      \"settings\": {\n        \"custom_liquid\": \"\\n    \u003cmeta charset='\\\"UTF-8\\\"'\u003e\\n    \u003cmeta name='\\\"viewport\\\"' content='\\\"width=device-width,' initial-scale='1.0\\\"'\u003e\\n    \u003clink rel='\\\"stylesheet\\\"' href='\\\"https:\/\/unpkg.com\/swiper@8\/swiper-bundle.min.css\\\"'\u003e\\n    \u003cscript src='\\\"https:\/\/unpkg.com\/swiper@8\/swiper-bundle.min.js\\\"'\u003e \u003c\/script\u003e\\n\\n\u003cdiv id='\\\"precision-section-s1mc-3\\\"' class='\\\"acsmc_precision-wrapper\\\"'\u003e\\n    \u003cdiv class='\\\"page-width\\\"'\u003e\\n        \u003c!-- 第一屏 --\u003e\\n        \u003csection class='\\\"acsmc_intro\\\"'\u003e\\n            \u003c!-- \u003cdiv class=\\\"acsmc_intro-subtitle\\\"\u003eAnycubic\u003c\/div\u003e\\n            \u003cdiv class=\\\"acsmc_intro-subtitle\\\"\u003eThe Dawn of a New Era: \u003c\/div\u003e\\n            \u003cdiv class=\\\"acsmc_intro-subtitle\\\"\u003eFirst-Ever ACE GEN 2 Multicolor Printing Technology\\n            \u003c\/div\u003e --\u003e\\n            \u003cimg class='\\\"acsmc_logoImg\\\"' style='\\\"' width: loading='\\\"lazy\\\"' src='\\\"\\\"' alt='\\\"\\\"'\u003e\\n\\n            \u003cdiv class='\\\"acsmc_intro-subtitle\\\"' style='\\\"font-size:'\u003e2X the Speed, 2X the Material\\n                Savings\u003csup\u003e[1]\u003c\/sup\u003e\n\u003c\/div\u003e\\n            \u003cp class='\\\"acsmc_intro-body\\\"'\u003eThe ACE GEN 2 technology at the core of the Kobra X reduces multicolor filament\\n                change length by a massive 81.25%. This not only dramatically cuts print time but also cuts filament\\n                purge waste, turning every spool into a more cost-effective success.\\n            \u003c\/p\u003e\\n        \u003c\/section\u003e\\n\\n        \u003csection class='\\\"acsmc_scroll-gallery_3\\\"'\u003e\u003c\/section\u003e\\n    \u003c\/div\u003e\\n\u003c\/div\u003e\\n\\n\u003cstyle\u003e\\n    \/* html,\\n    body {\\n        font-family: \\\"OPPO Sans 4.0\\\", sans-serif !important;\\n    }\\n\\n    * {\\n        font-family: inherit !important;\\n    }\\n\\n    .gradient {\\n        background: #F7F8FA;\\n    } *\/\\n\\n    \/* .image-with-text__heading,\\n    .banner__heading,\\n    h3,\\n    .rich-text__heading,\\n    .title__heading {\\n        font-size: 32px !important;\\n        font-weight: 700 !important;\\n    }\\n\\n    .rich-text__text p,\\n    .image-with-text__text p {\\n        font-size: 18px !important;\\n    }\\n\\n    .newsletter,\\n    #float-icon-container,\\n    .footer,\\n    .yg-country-popup-container,\\n    .color-inverse {\\n        display: none;\\n    } *\/\\n\\n    .acsmc_precision-wrapper {\\n        width: 100%;\\n        overflow: hidden;\\n        background: #000;\\n        color: #fff;\\n    }\\n\\n    .acsmc_precision-light {\\n        background: #fff;\\n        color: #000;\\n    }\\n\\n    .acsmc_precision-light .acsmc_panel {\\n        background: #fff;\\n    }\\n\\n    .acsmc_precision-light .acsmc_intro-subtitle {\\n        color: #000;\\n    }\\n\\n    .acsmc_precision-light .acsmc_intro-body {\\n        color: #333;\\n    }\\n\\n    .acsmc_precision-light .acsmc_panel .acsmc_text h3 {\\n        color: #000;\\n    }\\n\\n    .acsmc_precision-light .acsmc_panel .acsmc_text p {\\n        color: #333;\\n    }\\n\\n    .acsmc_precision-light .acsmc_panel strong {\\n        color: #000;\\n    }\\n\\n    .acsmc_intro {\\n        \/* height: 100vh; *\/\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: flex-start;\\n        align-items: center;\\n        padding: 0;\\n        position: relative;\\n    }\\n\\n    .acsmc_introTitle {\\n        background: linear-gradient(90deg, #ffdfc0 0%, #e2995a 100%);\\n        -webkit-background-clip: text;\\n        background-clip: text;\\n        color: transparent;\\n        font-weight: 700;\\n        font-size: 32px;\\n        line-height: 136%;\\n        letter-spacing: 0%;\\n        text-align: center;\\n        margin-top: 60px;\\n        margin-bottom: 30px;\\n    }\\n\\n    .acsmc_intro-subtitle {\\n        font-weight: 600;\\n        font-size: 32px;\\n        line-height: 150%;\\n        text-align: center;\\n        color: #fff;\\n        margin-bottom: 16px;\\n    }\\n\\n    .acsmc_intro-body {\\n        font-size: 14px;\\n        line-height: 160%;\\n        color: #fff;\\n        text-align: center;\\n        max-width: 860px;\\n        margin: 0 20px 40px;\\n    }\\n\\n    .acsmc_intro-images {\\n        display: flex;\\n        justify-content: center;\\n        align-items: stretch;\\n        width: 100%;\\n        height: 50vh;\\n        gap: 20px;\\n    }\\n\\n    .acsmc_intro-left {\\n        \/* flex: 0.6; *\/\\n        max-height: 518px;\\n    }\\n\\n    .acsmc_intro-right {\\n        max-width: 450px;\\n        max-height: 518px;\\n        \/* flex: 0.4; *\/\\n    }\\n\\n    .acsmc_intro-images img {\\n        width: 100%;\\n        height: 100%;\\n        border-radius: 16px;\\n        object-fit: cover;\\n    }\\n\\n    \/* 统一图片与视频样式，保证 intro-left 的视频与图片显示一致 *\/\\n    .acsmc_intro-images img,\\n    .acsmc_intro-images video,\\n    .acsmc_intro-left video,\\n    .acsmc_intro-right video {\\n        display: block;\\n        width: 100%;\\n        height: 100%;\\n        border-radius: 16px;\\n        object-fit: contain;\\n    }\\n\\n    \/* 若需要视频在容器内垂直居中，可以在父容器上这样设置（可选） *\/\\n    .acsmc_intro-images .acsmc_intro-left,\\n    .acsmc_intro-images .acsmc_intro-right {\\n        display: flex;\\n        align-items: center;\\n        justify-content: center;\\n    }\\n\\n    \/* =====================\\n   滚动内容区\\n===================== *\/\\n    .acsmc_scroll-gallery_3 {\\n        position: relative;\\n        height: auto;\\n    }\\n\\n\\n    \/* 所有 panel 统一为紧凑、无特效的布局 *\/\\n    .acsmc_panel {\\n        position: relative;\\n        min-height: auto;\\n        \/* padding: 40px 5%; *\/\\n        background: #000;\\n        z-index: 1;\\n        display: flex;\\n        align-items: center;\\n        justify-content: space-between;\\n        opacity: 1;\\n        transform: none;\\n        transition: none;\\n        margin-bottom: 16px;\\n        \/* 缩小板块间距 *\/\\n    }\\n\\n    \/* 条件性去除板块内边距（可通过 JS 添加 .acsmc_no-padding） *\/\\n    .acsmc_panel.acsmc_no-padding {\\n        padding: 0 !important;\\n    }\\n\\n    .acsmc_panel.acsmc_active {\\n        opacity: 1;\\n        transform: translateY(0);\\n        z-index: 2;\\n    }\\n\\n    .acsmc_panel.acsmc_reverse {\\n        \/* flex-direction: row-reverse; *\/\\n    }\\n\\n    .acsmc_panel .acsmc_text {\\n        flex: 0.45;\\n        padding: 20px;\\n        font-weight: 400;\\n        font-style: Regular;\\n        font-size: 20px;\\n        line-height: 150%;\\n        letter-spacing: 0%;\\n        order: 1;\\n        \/* Default order: Text first *\/\\n    }\\n\\n    .acsmc_panel .acsmc_media {\\n        text-align: center;\\n        order: 1;\\n        \/* Default order: Media second *\/\\n    }\\n\\n    .acsmc_has-bigtitle .acsmc_media {\\n        flex: 0.5;\\n    }\\n\\n    \/* Use order property to swap content instead of row-reverse *\/\\n    .acsmc_panel.acsmc_reverse .acsmc_text {\\n        order: 2;\\n    }\\n\\n    .acsmc_panel.acsmc_reverse .acsmc_media {\\n        order: 1;\\n    }\\n\\n    .acsmc_panel.acsmc_reverse {\\n        \/* flex-direction: row-reverse; *\/\\n        \/* Removed row-reverse to avoid issues with wrapping elements like bigtitle *\/\\n    }\\n\\n    .acsmc_panel .acsmc_text h3 {\\n        margin-bottom: 20px;\\n        font-weight: 700;\\n        font-size: 32px;\\n        line-height: 140%;\\n        letter-spacing: 0%;\\n        color: #fff;\\n    }\\n\\n    .acsmc_panel .acsmc_text p {\\n        font-size: 18px;\\n        color: #bbb;\\n        line-height: 1.6;\\n    }\\n\\n    .acsmc_panel strong {\\n        color: #fff;\\n    }\\n\\n    \/* .acsmc_panel .acsmc_media {\\n        flex: 0.5;\\n        text-align: center;\\n    } *\/\\n\\n    .acsmc_panel .acsmc_media img,\\n    .acsmc_panel .acsmc_media video {\\n        width: 100%;\\n        border-radius: 12px;\\n        object-fit: cover;\\n        \/* max-height: 80vh; *\/\\n    }\\n\\n    \/* 文本内联图片（@ACE_GEN_2） *\/\\n    #precision-section-s1mc-3 .acsmc_inline-logo {\\n        display: inline-block;\\n        height: 24px;\\n        width: auto;\\n        vertical-align: -0.15em;\\n        margin: 0 6px;\\n    }\\n\\n    .acsmc_media-2col {\\n        display: flex;\\n        flex-direction: column;\\n        gap: 16px;\\n        align-items: center;\\n        justify-content: center;\\n    }\\n\\n    .acsmc_media-2col .acsmc_media-item {\\n        flex: none;\\n        max-width: 100%;\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n        width: 100%;\\n    }\\n\\n    .acsmc_media-2col .acsmc_media-item img,\\n    .acsmc_media-2col .acsmc_media-item video {\\n        width: 100%;\\n        height: auto;\\n        border-radius: 12px;\\n        object-fit: contain;\\n        display: block;\\n        margin: 0 auto;\\n    }\\n\\n    .acsmc_media {\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n        width: 100%;\\n    }\\n\\n    .acsmc_textImg {\\n        display: block;\\n        margin-top: 12px;\\n        max-width: 680px;\\n        width: 100%;\\n        border-radius: 12px;\\n    }\\n\\n    .acsmc_textImgList {\\n        display: flex;\\n        gap: 16px;\\n        margin-top: 12px;\\n        width: 100%;\\n        max-width: 680px;\\n        justify-content: center;\\n        margin-left: auto;\\n        margin-right: auto;\\n    }\\n\\n    .acsmc_textImgList img {\\n        flex: 1 1 0;\\n        width: 100%;\\n        border-radius: 12px;\\n        object-fit: contain;\\n    }\\n\\n    \/* 简易轮播（限定到当前页面容器，避免影响其他页面） *\/\\n    #precision-section-s1mc-3 .swiper {\\n        width: 100%;\\n        max-width: 1200px;\\n        border-radius: 12px;\\n        overflow: hidden;\\n        background: #000;\\n    }\\n\\n    #precision-section-s1mc-3 .swiper-wrapper {\\n        align-items: center;\\n    }\\n\\n    #precision-section-s1mc-3 .swiper-slide {\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n        background: #000;\\n    }\\n\\n    #precision-section-s1mc-3 .swiper-slide img,\\n    #precision-section-s1mc-3 .swiper-slide video {\\n        width: 100%;\\n        height: auto;\\n        display: block;\\n        object-fit: cover;\\n        border-radius: 0;\\n    }\\n\\n    #precision-section-s1mc-3 .ac_gallery-dots.swiper-pagination-bullets {\\n        position: static;\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n        gap: 8px;\\n        margin-top: 16px;\\n    }\\n\\n    #precision-section-s1mc-3 .ac_gallery-dots .swiper-pagination-bullet {\\n        width: 32px;\\n        height: 4px;\\n        border-radius: 2px;\\n        background: #333;\\n        opacity: 1;\\n        margin: 0;\\n    }\\n\\n    #precision-section-s1mc-3 .ac_gallery-dots .swiper-pagination-bullet-active {\\n        background: #fff;\\n    }\\n\\n    .acsmc_bigtitle {\\n        width: 100%;\\n        text-align: center;\\n        font-weight: 700;\\n        font-size: 24px;\\n        color: #fff;\\n        margin-bottom: 20px;\\n        padding-top: 80px;\\n    }\\n\\n    .acsmc_precision-light .acsmc_bigtitle {\\n        color: #000;\\n    }\\n\\n    .acsmc_panel.acsmc_has-bigtitle {\\n        flex-wrap: wrap;\\n    }\\n\\n    .acsmc_panel.acsmc_single-media {\\n        justify-content: center;\\n    }\\n\\n    .acsmc_panel.acsmc_single-media .acsmc_media {\\n        flex: 1;\\n        max-width: 100%;\\n    }\\n\\n    \/* =====================\\n       Switch Video Component\\n       ===================== *\/\\n    .acsmc_switch_video {\\n        width: 100%;\\n        margin-top: 40px;\\n        display: flex;\\n        flex-direction: column;\\n        align-items: center;\\n        background: #fff;\\n        color: #000;\\n        \/* padding: 20px; *\/\\n        \/* border-radius: 12px; *\/\\n    }\\n\\n    .acsmc_switch_video .acsmc_bigtitle {\\n        margin-bottom: 30px;\\n    }\\n\\n    .acsmc_sv_tabs {\\n        display: flex;\\n        gap: 16px;\\n        margin-bottom: 30px;\\n        justify-content: center;\\n        flex-wrap: wrap;\\n    }\\n\\n    .acsmc_sv_tab {\\n        padding: 10px 24px;\\n        border-radius: 50px;\\n        font-weight: 600;\\n        font-size: 16px;\\n        cursor: pointer;\\n        transition: all 0.3s ease;\\n        border: 1px solid #ddd;\\n        background: #000;\\n        \/* ← 原为 #fff *\/\\n        color: #fff;\\n        \/* ← 原为 #000 *\/\\n    }\\n\\n    .acsmc_precision-wrapper:not(.acsmc_precision-light) .acsmc_sv_tab {\\n        background: #fff;\\n        \/* ← 原为 #333 *\/\\n        color: #000;\\n        \/* ← 原为 #fff *\/\\n        border-color: #ccc;\\n        \/* 浅一点更和谐，可保持 #444 也可 *\/\\n    }\\n\\n    .acsmc_sv_tab.active {\\n        background: #fff;\\n        \/* ← 原为 #000 *\/\\n        color: #000;\\n        \/* ← 原为 #fff *\/\\n        border-color: #000;\\n    }\\n\\n    .acsmc_precision-wrapper:not(.acsmc_precision-light) .acsmc_sv_tab.active {\\n        background: #000;\\n        \/* ← 原为 #fff *\/\\n        color: #fff;\\n        \/* ← 原为 #000 *\/\\n        border-color: #000;\\n    }\\n\\n    .acsmc_switch_video .acsmc_sv_tab {\\n        background: #000;\\n        \/* ← 原为 #fff *\/\\n        color: #fff;\\n        \/* ← 原为 #000 *\/\\n        border-color: #ddd;\\n    }\\n\\n    .acsmc_switch_video .acsmc_sv_tab.active {\\n        background: #fff;\\n        \/* ← 原为 #000 *\/\\n        color: #000;\\n        \/* ← 原为 #fff *\/\\n        border-color: #000;\\n    }\\n\\n    .acsmc_sv_content {\\n        width: 100%;\\n        max-width: 1200px;\\n        position: relative;\\n        border-radius: 16px;\\n        overflow: hidden;\\n        aspect-ratio: 16\/9;\\n        background: #000;\\n    }\\n\\n    .acsmc_sv_item {\\n        position: absolute;\\n        top: 0;\\n        left: 0;\\n        width: 100%;\\n        height: 100%;\\n        opacity: 0;\\n        transition: opacity 0.5s ease;\\n        pointer-events: none;\\n    }\\n\\n    .acsmc_sv_item.active {\\n        opacity: 1;\\n        pointer-events: auto;\\n        position: relative;\\n        \/* Ensure it takes up space if needed, but absolute is fine for stacking *\/\\n        z-index: 1;\\n    }\\n\\n    .acsmc_sv_item img,\\n    .acsmc_sv_item video {\\n        width: 100%;\\n        height: 100%;\\n        object-fit: cover;\\n        display: block;\\n    }\\n\\n    @media (max-width: 768px) {\\n        .acsmc_sv_tabs {\\n            gap: 10px;\\n            margin-bottom: 20px;\\n        }\\n\\n        .acsmc_sv_tab {\\n            padding: 8px 16px;\\n            font-size: 14px;\\n        }\\n\\n        .acsmc_switch_video {\\n            margin-top: 20px;\\n            margin-bottom: 20px;\\n        }\\n    }\\n\\n    .acsmc_panel.acsmc_special-center {\\n        \/* special-center 保持居中但不占满视口，和其它 panel 一致 *\/\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: center;\\n        align-items: center;\\n        gap: 24px;\\n        \/* padding: 40px 5%; *\/\\n        min-height: auto;\\n        box-sizing: border-box;\\n    }\\n\\n    .acsmc_panel.acsmc_special-center .acsmc_text {\\n        flex: 0 0 45%;\\n        \/* max-width: 50%; *\/\\n        text-align: center;\\n        padding: 20px;\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: center;\\n        \/* 文本垂直居中（关键） *\/\\n    }\\n\\n    .acsmc_panel.acsmc_special-center .acsmc_media {\\n        flex: 0 0 45%;\\n        max-width: 100%;\\n        max-height: 720px;\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n        \/* 媒体垂直居中（关键） *\/\\n    }\\n\\n    .acsmc_panel.acsmc_special-center .acsmc_media img,\\n    .acsmc_panel.acsmc_special-center .acsmc_media video {\\n        width: 100%;\\n        height: auto;\\n        \/* max-height: 60vh; *\/\\n        border-radius: 12px;\\n    }\\n\\n    \/* 移动端样式优化 *\/\\n    @media (max-width: 768px) {\\n        .acsmc_bigtitle {\\n            font-size: 24px;\\n            margin-bottom: 20px;\\n            padding-top: 0;\\n        }\\n\\n        .acsmc_panel .acsmc_text p {\\n            font-size: 14px;\\n        }\\n\\n        .acsmc_panel .acsmc_text h3 {\\n            font-size: 36px;\\n            \/* 手机端二级标题 36px *\/\\n        }\\n\\n        \/* 整体滚动区改为自动高度 *\/\\n        .acsmc_scroll-gallery_3 {\\n            height: auto;\\n        }\\n\\n        \/* panel 在移动端的基础样式 *\/\\n        .acsmc_panel {\\n            position: relative !important;\\n            height: auto;\\n            display: flex;\\n            \/* flex-direction: column !important; *\/\\n            \/* 强制所有panel在移动端上下布局 *\/\\n            justify-content: flex-start;\\n            align-items: center;\\n            padding: 5% 4%;\\n        }\\n\\n        \/* 前三个panel的移动端样式 *\/\\n        .acsmc_panel:nth-child(-n+3) {\\n            min-height: auto;\\n            padding: 30px 4%;\\n            margin-bottom: 12px;\\n            \/* 缩小间距 *\/\\n        }\\n\\n        \/* 第四个panel开始的移动端样式 *\/\\n        .acsmc_panel:nth-child(n+4) {\\n            \/* min-height: 100vh; *\/\\n            justify-content: center;\\n            opacity: 0;\\n            transform: translateY(20px);\\n            transition: opacity 0.6s ease-out, transform 0.6s ease-out;\\n        }\\n\\n        \/* 激活状态的动画效果 *\/\\n        .acsmc_panel.acsmc_active {\\n            opacity: 1;\\n            transform: translateY(0);\\n        }\\n\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_text,\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_media {\\n            flex: none;\\n            width: 100%;\\n            max-width: 100%;\\n            \/* padding: 0 16px; *\/\\n            text-align: center;\\n        }\\n\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_media {\\n            margin-top: 16px;\\n        }\\n\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_media img,\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_media video {\\n            width: 100%;\\n            \/* height: 60vh; *\/\\n            object-fit: cover;\\n            border-radius: 12px;\\n            max-height: none;\\n        }\\n\\n        .acsmc_panel:not(.acsmc_special-center) .acsmc_media img {\\n            object-fit: contain;\\n        }\\n\\n        .acsmc_media-2col {\\n            flex-direction: column;\\n        }\\n\\n        .acsmc_media-2col .acsmc_media-item {\\n            max-width: 100%;\\n        }\\n\\n        .acsmc_panel.acsmc_single-media {\\n            padding-left: 0;\\n            padding-right: 0;\\n        }\\n\\n        \/* 保留并强化 special-center 在移动端的全屏覆盖行为（如果已存在则为冗余安全覆盖） *\/\\n        \/* 修改 special-center 在移动端的样式 *\/\\n        .acsmc_panel.acsmc_special-center {\\n            padding: 20px 0;\\n            height: auto;\\n            \/* min-height: 100vh; *\/\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: flex-start;\\n            align-items: center;\\n            position: relative;\\n            gap: 20px;\\n        }\\n\\n        .acsmc_panel.acsmc_special-center .acsmc_text {\\n            position: relative;\\n            \/* 改为相对定位 *\/\\n            left: auto;\\n            top: auto;\\n            transform: none;\\n            width: 100%;\\n            padding: 16px;\\n            max-width: 90%;\\n            z-index: 2;\\n            text-align: center;\\n            color: #333;\\n            \/* 恢复正常文字颜色 *\/\\n            order: 1;\\n            \/* 文字放在上面 *\/\\n        }\\n\\n        .acsmc_panel.acsmc_special-center .acsmc_media {\\n            width: 100%;\\n            height: auto;\\n            max-height: 60vh;\\n            \/* 限制视频高度 *\/\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n            order: 2;\\n            \/* 媒体放在下面 *\/\\n            \/* padding: 0 16px; *\/\\n        }\\n\\n        .acsmc_panel.acsmc_special-center .acsmc_media img,\\n        .acsmc_panel.acsmc_special-center .acsmc_media video {\\n            width: 100%;\\n            height: auto;\\n            max-height: 60vh;\\n            object-fit: contain;\\n            border-radius: 12px;\\n        }\\n\\n        .acsmc_panel.acsmc_special-center .acsmc_text {\\n            \/* position: absolute;\\n            left: 50%;\\n            top: 50%;\\n            transform: translate(-50%, -50%); *\/\\n            z-index: 2;\\n            text-align: center;\\n            color: #fff;\\n        }\\n\\n        .acsmc_panel .acsmc_media img,\\n        .acsmc_panel .acsmc_media video {\\n            width: 100%;\\n            \/* height: 400px; *\/\\n            \/* max-height: 80vh; *\/\\n        }\\n\\n        .acsmc_introTitle {\\n            font-weight: 700;\\n            font-size: 22px;\\n            \/* 移动端保持一级标题 50px *\/\\n            line-height: 136%;\\n            letter-spacing: 0%;\\n            text-align: center;\\n            -webkit-background-clip: text;\\n            background-clip: text;\\n            color: transparent;\\n            margin-bottom: 60px;\\n            padding: 0 20px;\\n            \/* 移动端添加两边间距 *\/\\n        }\\n\\n        .acsmc_intro-subtitle {\\n            font-weight: 600;\\n            font-size: 22px;\\n            line-height: 150%;\\n            text-align: center;\\n            color: #fff;\\n            margin-bottom: 12px;\\n        }\\n\\n        .acsmc_intro-body {\\n            font-size: 14px;\\n            line-height: 160%;\\n            text-align: center;\\n            margin: 0 16px 32px;\\n        }\\n\\n        .acsmc_intro-images {\\n            flex-direction: column;\\n            height: auto;\\n        }\\n\\n        .acsmc_intro-left {\\n            order: 2;\\n        }\\n\\n        .rich-text__text p,\\n        .image-with-text__text p {\\n            font-size: 14px !important;\\n        }\\n\\n        .image-with-text__heading,\\n        .banner__heading,\\n        h3 {\\n            font-size: 22px !important;\\n        }\\n    }\\n\\n    @media (max-width: 768px) {\\n        .acsmc_precision-wrapper .acsmc_intro {\\n            padding-top: 16px !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_introTitle {\\n            margin-top: 20px !important;\\n            margin-bottom: 12px !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_intro-subtitle {\\n            margin-bottom: 6px !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_intro-body {\\n            margin: 0 12px 12px !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_scroll-gallery_3 {\\n            padding: 8px 0 !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_panel {\\n            padding: 0 !important;\\n            margin: 0 0 12px !important;\\n            \/* 缩小间距 *\/\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_panel .acsmc_text {\\n            margin-bottom: 8px !important;\\n        }\\n\\n        \/* 兼容 special-center 的紧凑样式 *\/\\n        .acsmc_precision-wrapper .acsmc_panel.acsmc_special-center {\\n            gap: 12px !important;\\n            padding: 10px 0 !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_panel.acsmc_special-center .acsmc_text {\\n            padding: 12px !important;\\n        }\\n\\n        .acsmc_precision-wrapper .acsmc_panel.acsmc_special-center .acsmc_media {\\n            max-height: none !important;\\n        }\\n    }\\n\\n    \/* media 纵向堆叠模式 *\/\\n    .acsmc_panel.acsmc_media-stack {\\n        flex-direction: column;\\n        align-items: center;\\n    }\\n\\n    .acsmc_panel.acsmc_media-stack .acsmc_text {\\n        width: 100%;\\n        max-width: 860px;\\n        order: 1;\\n    }\\n\\n    .acsmc_panel.acsmc_media-stack .acsmc_media {\\n        width: 100%;\\n        max-width: 1200px;\\n        margin-top: 24px;\\n        order: 2;\\n    }\\n\\n    \/* 多个 media 永远上下排列 *\/\\n    .acsmc_panel.acsmc_media-stack .acsmc_media-2col {\\n        flex-direction: column;\\n    }\\n\u003c\/style\u003e\\n\\n\u003c!-- \u003cscript src=\\\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\\\"\u003e\u003c\/script\u003e\\n\u003cscript src=\\\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/ScrollTrigger.min.js\\\"\u003e\u003c\/script\u003e --\u003e\\n\\n\u003cscript\u003e\\n    document.addEventListener(\\\"DOMContentLoaded\\\", () =\u003e {\\n        \/\/ gsap.registerPlugin(ScrollTrigger);\\n        const logoJson = {\\n            media: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ace-gen-2-PC.jpg?v=1767785181\\\",\\n            mobImg: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ace-gen-2-M-1_e40595b3-2e87-4eb9-a2c4-15ab5b2340c6.jpg?v=1767785180`,\\n        }\\n\\n        const logoEl = document.querySelector('.acsmc_logoImg');\\n        if (logoEl) {\\n            const isMobile = window.matchMedia('(max-width: 768px)').matches;\\n            const src = isMobile \u0026\u0026 logoJson.mobImg ? logoJson.mobImg : logoJson.media;\\n            logoEl.setAttribute('src', src);\\n        }\\n\\n        const imgJson = [\\n            {\\n                title: ``,\\n                text: ``,\\n                media: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Shorter-Distance-52-PC-EN.jpg?v=1767785181\\\",\\n                mobImg: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Shorter-Distance-52-M.jpg?v=1767785180`,\\n                media2: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Purge-Length-Decreased-81-PC-EN.jpg?v=1767785181\\\",\\n                mobImg2: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Purge-Length-Decreased-81-M.jpg?v=1767946209`,\\n            },\\n            {\\n                title: ``,\\n                text: ``,\\n                mediaArr: [\\n                    `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Dragon-PC-EN.jpg?v=1767785180`,\\n                    `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/4-Color-Cuboid-PC-EN.jpg?v=1767785179`,\\n                    `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/4-Color-Spinning-Top-PC-EN.jpg?v=1767945017`,\\n                ],\\n                mobArr: [\\n                    `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Dragon-M.jpg?v=1767785181`,\\n                    `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/4-Color-Cuboid-M.jpg?v=1767785180`, `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/4-Color-Spinning-Top-M.jpg?v=1767944996`\\n                ],\\n                isSwiper: true\\n            },\\n            {\\n                title: ``,\\n                text: ``,\\n                media: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0921\/8385\/5398\/files\/KXC_Sale_Point_Color_pc.jpg?v=1773912160\\\",\\n                mobImg: `https:\/\/cdn.shopify.com\/s\/files\/1\/0921\/8385\/5398\/files\/KXC_Sale_Point_Color_m.jpg?v=1773912160`,\\n                fullImage: true\\n            },\\n            {\\n                bigtitle: `Mixing it Up without Messing it Up: Soft\/Hard Multi-Material Printing`,\\n                title: \\\"\\\",\\n                text: `@ACE_GEN_2 has an adaptive extrusion force compensater, it constantly and automatically adjusts the extrusion force based on the filament's hardness, enabling seamless transitions between different materials.`,\\n                textImg: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/feed-pla-tpu-filament-8.jpg?v=1767871435\\\",\\n                media: \\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/soft-hard-pla-tpu.jpg?v=1767785181\\\",\\n                mobImg: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/soft-hard-pla-tpu.jpg?v=1767785181`,\\n            },\\n            \/\/ {\\n            \/\/     type: 'switch_video',\\n            \/\/     bigtitle: ``,\\n            \/\/     tabs: [\\n            \/\/         { title: \\\"PLA+TPU\\\", media: `https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/193e9f5229c84812b5157876b9fba342.mp4` },\\n            \/\/         { title: \\\"PLA+PVA\\\", media: `https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/6509a056687648d48d269059b4b37857.mp4` },\\n            \/\/         { title: \\\"TPU+TPU\\\", media: `https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/10f3d27b2b6f4030bacd968206f355a8.mp4` },\\n            \/\/     ]\\n            \/\/ },\\n        ];\\n\\n        const container = document.querySelector(\\\".acsmc_scroll-gallery_3\\\");\\n\\n        \/\/ 动态渲染 panel\\n        imgJson.forEach((item, i) =\u003e {\\n            const panel = document.createElement(\\\"div\\\");\\n\\n            \/\/ Handle switch_video type\\n            if (item.type === 'switch_video') {\\n                panel.className = 'acsmc_switch_video';\\n\\n                let tabsHtml = '';\\n                let contentHtml = '';\\n\\n                item.tabs.forEach((tab, idx) =\u003e {\\n                    const isActive = idx === 0 ? 'active' : '';\\n                    tabsHtml += `\u003cdiv class=\\\"acsmc_sv_tab ${isActive}\\\" data-index=\\\"${idx}\\\"\u003e${tab.title}\u003c\/div\u003e`;\\n\\n                    const mediaUrl = tab.media;\\n                    const isVideo = typeof mediaUrl === 'string' \u0026\u0026 mediaUrl.endsWith('.mp4');\\n\\n                    contentHtml += `\\n                        \u003cdiv class=\\\"acsmc_sv_item ${isActive}\\\" data-index=\\\"${idx}\\\"\u003e\\n                             ${isVideo\\n                            ? `\u003cvideo autoplay preload=\\\"none\\\" muted loop playsinline data-src=\\\"${mediaUrl}\\\"\u003e\u003c\/video\u003e`\\n                            : `\u003cimg loading=\\\"lazy\\\" src=\\\"${mediaUrl}\\\" alt=\\\"${tab.title}\\\"\u003e`}\\n                        \u003c\/div\u003e\\n                    `;\\n                });\\n\\n                panel.innerHTML = `\\n                    \u003cdiv class=\\\"acsmc_bigtitle\\\"\u003e${item.bigtitle}\u003c\/div\u003e\\n                    \u003cdiv class=\\\"acsmc_sv_tabs\\\"\u003e${tabsHtml}\u003c\/div\u003e\\n                    \u003cdiv class=\\\"acsmc_sv_content\\\"\u003e${contentHtml}\u003c\/div\u003e\\n                `;\\n\\n                \/\/ Add click listeners for tabs\\n                const tabs = panel.querySelectorAll('.acsmc_sv_tab');\\n                const contents = panel.querySelectorAll('.acsmc_sv_item');\\n\\n                tabs.forEach(tab =\u003e {\\n                    tab.addEventListener('click', () =\u003e {\\n                        const index = tab.getAttribute('data-index');\\n\\n                        tabs.forEach(t =\u003e t.classList.remove('active'));\\n                        tab.classList.add('active');\\n\\n                        contents.forEach(c =\u003e {\\n                            c.classList.remove('active');\\n                            \/\/ Pause videos in inactive tabs\\n                            const vid = c.querySelector('video');\\n                            if (vid) vid.pause();\\n\\n                            if (c.getAttribute('data-index') === index) {\\n                                c.classList.add('active');\\n                                \/\/ Play video in active tab if loaded\\n                                const vid = c.querySelector('video');\\n                                if (vid \u0026\u0026 vid.getAttribute('src')) {\\n                                    vid.play().catch(() =\u003e { });\\n                                } else if (vid \u0026\u0026 vid.getAttribute('data-src')) {\\n                                    \/\/ Lazy load logic will handle it if observed, \\n                                    \/\/ but here we might want to force load if clicked\\n                                    vid.setAttribute('src', vid.getAttribute('data-src'));\\n                                    vid.addEventListener('loadeddata', () =\u003e {\\n                                        vid.play().catch(() =\u003e { });\\n                                    }, { once: true });\\n                                }\\n                            }\\n                        });\\n                    });\\n                });\\n\\n                container.appendChild(panel);\\n                return; \/\/ Skip standard panel logic\\n            }\\n\\n            \/\/ Standard Panel Logic\\n            \/\/ 使 scroll-gallery 从“图片在左”开始：\\n            \/\/ - 其余偶数索引 (0,4,...) 使用 reverse 使媒体在左，文字在右\\n            \/\/ 第0,2个panel（第1,3个）显示为左图右文，第1个panel（第2个）显示为左文右图\\n            const isReverse = i \u003c 3 ? i % 2 === 1 : (i % 2 === 0);\\n\\n            const hasBigTitle = !!item.bigtitle;\\n            const hasMedia2 = !!item.media2\\n                || (Array.isArray(item.mediaList) \u0026\u0026 item.mediaList.length \u003e= 2)\\n                || (Array.isArray(item.mediaArr) \u0026\u0026 item.mediaArr.length \u003e= 2);\\n            const hideText = item.fullImage === true;\\n\\n            let panelClass = `acsmc_panel ${isReverse ? \\\"acsmc_reverse\\\" : \\\"\\\"}`;\\n            if (hasBigTitle) panelClass += \\\" acsmc_has-bigtitle\\\";\\n            if (hideText) panelClass += \\\" acsmc_single-media\\\";\\n            if (item.isSwiper || hasMedia2) {\\n                panelClass += \\\" acsmc_media-stack\\\";\\n            }\\n\\n            panel.className = panelClass.trim();\\n\\n            const isMobile = window.matchMedia('(max-width: 768px)').matches;\\n            const mediaUrl = (isMobile \u0026\u0026 item.mobImg) ? item.mobImg : item.media;\\n            const isVideo = typeof mediaUrl === 'string' \u0026\u0026 mediaUrl.endsWith('.mp4');\\n\\n            let mediaHtml = '';\\n            if (hasMedia2) {\\n                const list = Array.isArray(item.mediaList)\\n                    ? item.mediaList\\n                    : (Array.isArray(item.mediaArr) ? item.mediaArr : [item.media, item.media2].filter(Boolean));\\n                const listMob = Array.isArray(item.mobList)\\n                    ? item.mobList\\n                    : (Array.isArray(item.mobArr) ? item.mobArr : [item.mobImg, item.mobImg2].filter(Boolean));\\n                \/\/ 当 isSwiper 为 true 且为移动端时，优先使用 mobArr（若存在），否则尝试长度匹配的 mob 列表，最后回退到桌面列表\\n                let sources;\\n                if (isMobile \u0026\u0026 item.isSwiper === true \u0026\u0026 Array.isArray(listMob) \u0026\u0026 listMob.length) {\\n                    sources = listMob;\\n                } else if (isMobile \u0026\u0026 Array.isArray(listMob) \u0026\u0026 listMob.length === list.length) {\\n                    sources = listMob;\\n                } else {\\n                    sources = list;\\n                }\\n\\n                if (item.isSwiper === true \u0026\u0026 !isMobile) {\\n                    mediaHtml = `\\n                      \u003cdiv class=\\\"acsmc_media\\\"\u003e\\n                        \u003cdiv class=\\\"swiper\\\"\u003e\\n                          \u003cdiv class=\\\"swiper-wrapper\\\"\u003e\\n                            ${sources.map((src) =\u003e {\\n                        const isVid = typeof src === 'string' \u0026\u0026 src.endsWith('.mp4');\\n                        return `\\n                                  \u003cdiv class=\\\"swiper-slide\\\"\u003e\\n                                    ${isVid\\n                                ? `\u003cvideo autoplay preload=\\\"none\\\" muted loop playsinline data-src=\\\"${src}\\\"\u003e\u003c\/video\u003e`\\n                                : `\u003cimg loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${src}\\\" alt=\\\"${item.title}\\\"\u003e`}\\n                                  \u003c\/div\u003e\\n                                `;\\n                    }).join('')}\\n                          \u003c\/div\u003e\\n                          \u003cdiv class=\\\"swiper-pagination ac_gallery-dots\\\"\u003e\u003c\/div\u003e\\n                        \u003c\/div\u003e\\n                      \u003c\/div\u003e\\n                    `;\\n                } else {\\n                    \/\/ 移动端或非 swiper 的场景，使用竖向（或 2 列）媒体列表，并且 sources 在上面已优先选取了 mobArr（若适用）\\n                    mediaHtml = `\\n                      \u003cdiv class=\\\"acsmc_media acsmc_media-2col\\\"\u003e\\n                        ${sources.map((src) =\u003e {\\n                        const isVid = typeof src === 'string' \u0026\u0026 src.endsWith('.mp4');\\n                        return isVid\\n                            ? `\u003cdiv class=\\\"acsmc_media-item\\\"\u003e\u003cvideo autoplay preload=\\\"none\\\" muted loop playsinline data-src=\\\"${src}\\\"\u003e\u003c\/video\u003e\u003c\/div\u003e`\\n                            : `\u003cdiv class=\\\"acsmc_media-item\\\"\u003e\u003cimg loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${src}\\\" alt=\\\"${item.title}\\\"\u003e\u003c\/div\u003e`;\\n                    }).join('')}\\n                      \u003c\/div\u003e\\n                    `;\\n                }\\n            } else {\\n                mediaHtml = `\\n                  \u003cdiv class=\\\"acsmc_media\\\"\u003e\\n                    ${isVideo\\n                        ? `\u003cvideo autoplay preload=\\\"none\\\" muted loop playsinline data-src=\\\"${mediaUrl}\\\"\u003e\u003c\/video\u003e`\\n                        : `\u003cimg loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${mediaUrl}\\\" alt=\\\"${item.title}\\\"\u003e`}\\n                  \u003c\/div\u003e\\n                `;\\n            }\\n\\n            let contentHtml = '';\\n            const isLastPanel = i === imgJson.length - 1;\\n            if (hasBigTitle \u0026\u0026 !isLastPanel) {\\n                contentHtml += `\u003cdiv class=\\\"acsmc_bigtitle\\\"\u003e${item.bigtitle}\u003c\/div\u003e`;\\n            }\\n\\n            const hasTextBlock = (!!item.title || !!item.text || !!item.textImg || (Array.isArray(item.textImgList) \u0026\u0026 item.textImgList.length \u003e 0));\\n            const processedText = item.text\\n                ? item.text.replace(\/@ACE_GEN_2\/g, `\u003cimg class=\\\"acsmc_inline-logo\\\" src=\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ACE-GEN-2.png?v=1767844851\\\" alt=\\\"ACE GEN 2\\\"\u003e`)\\n                : '';\\n            const textBlockHtml = (!hideText \u0026\u0026 hasTextBlock) ? `\\n              \u003cdiv class=\\\"acsmc_text\\\"\u003e\\n                ${isLastPanel \u0026\u0026 hasBigTitle ? `\u003cdiv class=\\\"acsmc_bigtitle\\\"\u003e${item.bigtitle}\u003c\/div\u003e` : ``}\\n                ${item.title ? `\u003ch3\u003e${item.title}\u003c\/h3\u003e` : ``}\\n                ${item.text ? `\u003cp\u003e${processedText}\u003c\/p\u003e` : ``}\\n                ${item.textImg ? `\u003cimg class=\\\"acsmc_textImg\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${item.textImg}\\\" alt=\\\"${item.title}\\\"\u003e` : ``}\\n                ${Array.isArray(item.textImgList) \u0026\u0026 item.textImgList.length \u003e 0 ? `\\n                    \u003cdiv class=\\\"acsmc_textImgList\\\"\u003e\\n                      ${item.textImgList.map((src) =\u003e `\u003cimg loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${src}\\\" alt=\\\"${item.title}\\\"\u003e`).join('')}\\n                    \u003c\/div\u003e\\n                ` : ``}\\n              \u003c\/div\u003e\\n            ` : '';\\n\\n            if (isLastPanel) {\\n                contentHtml += mediaHtml + textBlockHtml;\\n            } else {\\n                contentHtml += textBlockHtml + mediaHtml;\\n            }\\n\\n            panel.innerHTML = contentHtml;\\n            container.appendChild(panel);\\n            \/\/ 立即标记为已激活，页面不再依赖 GSAP 动画\\n            panel.classList.add('acsmc_active');\\n\\n            \/\/ 条件性去除 padding：当是纯媒体、swiper 或 media-stack（常见需要占满宽度的布局）时，移除默认 padding 以节省空间\\n            if (hideText || item.isSwiper === true || hasMedia2) {\\n                panel.classList.add('acsmc_no-padding');\\n            }\\n\\n            \/\/ 初始化 Swiper 轮播\\n            const swipers = panel.querySelectorAll('.swiper');\\n            swipers.forEach(swiperEl =\u003e {\\n                const paginationEl = swiperEl.querySelector('.swiper-pagination');\\n                const instance = new Swiper(swiperEl, {\\n                    loop: false,\\n                    slidesPerView: 1,\\n                    spaceBetween: 0,\\n                    pagination: {\\n                        el: paginationEl,\\n                        clickable: true\\n                    }\\n                });\\n                function playActiveVideo() {\\n                    const active = swiperEl.querySelector('.swiper-slide.swiper-slide-active');\\n                    if (!active) return;\\n                    const vid = active.querySelector('video');\\n                    if (vid) {\\n                        if (!vid.getAttribute('src') \u0026\u0026 vid.getAttribute('data-src')) {\\n                            vid.setAttribute('src', vid.getAttribute('data-src'));\\n                            vid.addEventListener('loadeddata', () =\u003e { try { vid.play(); } catch (_) { } }, { once: true });\\n                        } else {\\n                            try { vid.play(); } catch (_) { }\\n                        }\\n                    }\\n                }\\n                function pauseAllVideos() {\\n                    swiperEl.querySelectorAll('video').forEach(v =\u003e {\\n                        try { v.pause(); } catch (_) { }\\n                    });\\n                }\\n                instance.on('init', () =\u003e {\\n                    playActiveVideo();\\n                });\\n                instance.on('slideChange', () =\u003e {\\n                    pauseAllVideos();\\n                    playActiveVideo();\\n                });\\n                \/\/ 手动触发一次\\n                playActiveVideo();\\n            });\\n        });\\n        \/\/ 懒加载视频：进入视口时再设置 src 并播放\\n        const lazyVideos = container.querySelectorAll('video[data-src]');\\n        if ('IntersectionObserver' in window) {\\n            const io = new IntersectionObserver((entries) =\u003e {\\n                entries.forEach(entry =\u003e {\\n                    if (entry.isIntersecting) {\\n                        const v = entry.target;\\n                        if (!v.getAttribute('src')) {\\n                            v.setAttribute('src', v.getAttribute('data-src'));\\n                            v.addEventListener('loadeddata', () =\u003e {\\n                                try { v.play(); } catch (_) { }\\n                            }, { once: true });\\n                        }\\n                        io.unobserve(v);\\n                    }\\n                });\\n            }, { root: null, rootMargin: '200px 0px', threshold: 0.1 });\\n            lazyVideos.forEach(v =\u003e io.observe(v));\\n        } else {\\n            lazyVideos.forEach(v =\u003e {\\n                v.setAttribute('src', v.getAttribute('data-src'));\\n            });\\n        }\\n        \/\/ 移除所有 GSAP\/ScrollTrigger 的特效逻辑（需求变更：不需要滚动特效）\\n    });\\n\u003c\/script\u003e\",\n        \"color_scheme\": \"\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0\n      }\n    },\n    \"custom_liquid_nnnxiF\": {\n      \"type\": \"custom-liquid\",\n      \"name\": \"t:sections.custom-liquid.presets.name\",\n      \"settings\": {\n        \"custom_liquid\": \"\\n  \u003cmeta charset='\\\"UTF-8\\\"'\u003e\\n  \u003cmeta name='\\\"viewport\\\"' content='\\\"width=device-width,' initial-scale='1.0\\\"'\u003e\\n\\n\u003cstyle\u003e\\n  .ackxNew_switch_video {\\n    width: 100%;\\n    display: flex;\\n    flex-direction: column;\\n    align-items: center;\\n    color: #fff;\\n    background: #000;\\n    padding-bottom: 20px;\\n  }\\n\\n  .ackxNew_switch_video .ackxNew_bigtitle {\\n    width: 100%;\\n    text-align: center;\\n    font-weight: 700;\\n    font-size: 32px;\\n    margin-bottom: 30px;\\n  }\\n\\n  .ackxNew_sv_tabs {\\n    display: flex;\\n    gap: 24px;\\n    margin-top: 16px;\\n    justify-content: center;\\n    flex-wrap: wrap;\\n  }\\n\\n  .ackxNew_sv_tab {\\n    padding: 10px 24px;\\n    font-weight: 600;\\n    font-size: 16px;\\n    cursor: pointer;\\n    transition: all 0.3s ease;\\n    color: #aaa;\\n    border-bottom: 2px solid transparent;\\n  }\\n\\n  .ackxNew_sv_tab.active {\\n    color: #fff;\\n    border-bottom-color: #fff;\\n  }\\n\\n  .ackxNew_sv_content {\\n    width: 100%;\\n    max-width: 1200px;\\n    position: relative;\\n    border-radius: 16px;\\n    overflow: hidden;\\n    aspect-ratio: 16\/9;\\n    background: #000;\\n    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08) inset;\\n  }\\n\\n  .ackxNew_sv_item {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    width: 100%;\\n    height: 100%;\\n    opacity: 0;\\n    transition: opacity 0.5s ease;\\n    pointer-events: none;\\n  }\\n\\n  .ackxNew_sv_item.active {\\n    opacity: 1;\\n    pointer-events: auto;\\n    position: relative;\\n    z-index: 1;\\n  }\\n\\n  .ackxNew_sv_item img,\\n  .ackxNew_sv_item video {\\n    width: 100%;\\n    height: 100%;\\n    object-fit: cover;\\n    display: block;\\n  }\\n\\n  .ackxNew_sv_overlay {\\n    position: absolute;\\n    left: 24px;\\n    bottom: 24px;\\n    color: #fff;\\n    z-index: 2;\\n    max-width: 60%;\\n  }\\n\\n  .ackxNew_sv_overlay h3 {\\n    margin: 0 0 8px 0;\\n    font-size: 20px;\\n    font-weight: 700;\\n    color: #fff;\\n  }\\n\\n  .ackxNew_sv_overlay p {\\n    margin: 0 0 6px 0;\\n    font-size: 14px;\\n    line-height: 1.6;\\n  }\\n\\n  .ackxNew_sv_overlay .credit {\\n    opacity: 0.9;\\n    font-size: 12px;\\n  }\\n\\n  .ackxNew_sv_item::after {\\n    content: \\\"\\\";\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    height: 35%;\\n    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0.8) 100%);\\n    pointer-events: none;\\n    z-index: 1;\\n  }\\n\\n  @media (max-width: 768px) {\\n    .ackxNew_sv_tabs {\\n      gap: 12px;\\n      margin-top: 12px;\\n    }\\n\\n    .ackxNew_sv_tab {\\n      padding: 8px 16px;\\n      font-size: 14px;\\n    }\\n\\n    .ackxNew_switch_video {\\n      \/* margin-top: 20px;\\n      margin-bottom: 20px; *\/\\n    }\\n  }\\n\u003c\/style\u003e\\n\u003csection id='\\\"sv\\\"' class='\\\"ackxNew_switch_video\\\"'\u003e\u003c\/section\u003e\\n\u003cscript\u003e\\n  document.addEventListener(\\\"DOMContentLoaded\\\", function () {\\n    var data = {\\n      tabs: [\\n        { title: \\\"PLA+TPU\\\", media: \\\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/87f2022fa38f499b865805dc9a422aa6.mp4\\\", head: \\\"Soft- \u0026 Hard-Material Mixed Printing\\\", sub: \\\"PLA+TPU(68D)\\\", credit: \\\"Model from: @Anycubic\\\" },\\n        { title: \\\"PLA+PVA\\\", media: \\\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/ddf2c6535128491faf88bc54a46641e5.mp4\\\", head: \\\"Soft- \u0026 Hard-Material Mixed Printing\\\", sub: \\\"PLA+PVA\\\", credit: \\\"Model from: @Anycubic\\\" },\\n        { title: \\\"TPU+TPU\\\", media: \\\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/10f3d27b2b6f4030bacd968206f355a8.mp4\\\", head: \\\"Soft- \u0026 Hard-Material Mixed Printing\\\", sub: \\\"TPU+TPU\\\", credit: \\\"Model from: @Anycubic\\\" }\\n      ]\\n    };\\n    var panel = document.getElementById(\\\"sv\\\");\\n    var tabsHtml = \\\"\\\";\\n    var contentHtml = \\\"\\\";\\n    data.tabs.forEach(function (tab, idx) {\\n      var isActive = idx === 0 ? \\\"active\\\" : \\\"\\\";\\n      tabsHtml += '\u003cdiv class=\\\"ackxNew_sv_tab ' + isActive + '\\\" data-index=\\\"' + idx + '\\\"\u003e' + tab.title + \\\"\u003c\/div\u003e\\\";\\n      var mediaUrl = tab.media;\\n      var isVideo = typeof mediaUrl === \\\"string\\\" \u0026\u0026 mediaUrl.endsWith(\\\".mp4\\\");\\n      var overlay = '\u003cdiv class=\\\"ackxNew_sv_overlay\\\"\u003e' +\\n        (tab.head ? '\u003ch3\u003e' + tab.head + '\u003c\/h3\u003e' : '') +\\n        (tab.sub ? '\u003cp\u003e' + tab.sub + '\u003c\/p\u003e' : '') +\\n        (tab.credit ? '\u003cp class=\\\"credit\\\"\u003e' + tab.credit + '\u003c\/p\u003e' : '') +\\n        '\u003c\/div\u003e';\\n      contentHtml += '\u003cdiv class=\\\"ackxNew_sv_item ' + isActive + '\\\" data-index=\\\"' + idx + '\\\"\u003e' + (isVideo ? '\u003cvideo autoplay preload=\\\"none\\\" muted loop playsinline data-src=\\\"' + mediaUrl + '\\\"\u003e\u003c\/video\u003e' : '\u003cimg loading=\\\"lazy\\\" src=\\\"' + mediaUrl + '\\\" alt=\\\"' + tab.title + '\\\"\u003e') + overlay + \\\"\u003c\/div\u003e\\\";\\n    });\\n    panel.innerHTML = '\u003cdiv class=\\\"ackxNew_sv_content\\\"\u003e' + contentHtml + \\\"\u003c\/div\u003e\\\" + '\u003cdiv class=\\\"ackxNew_sv_tabs\\\"\u003e' + tabsHtml + \\\"\u003c\/div\u003e\\\";\\n    var tabs = panel.querySelectorAll(\\\".ackxNew_sv_tab\\\");\\n    var contents = panel.querySelectorAll(\\\".ackxNew_sv_item\\\");\\n    tabs.forEach(function (tab) {\\n      tab.addEventListener(\\\"click\\\", function () {\\n        var index = tab.getAttribute(\\\"data-index\\\");\\n        tabs.forEach(function (t) { t.classList.remove(\\\"active\\\"); });\\n        tab.classList.add(\\\"active\\\");\\n        contents.forEach(function (c) {\\n          c.classList.remove(\\\"active\\\");\\n          var vid = c.querySelector(\\\"video\\\");\\n          if (vid) vid.pause();\\n          if (c.getAttribute(\\\"data-index\\\") === index) {\\n            c.classList.add(\\\"active\\\");\\n            var v = c.querySelector(\\\"video\\\");\\n            if (v \u0026\u0026 v.getAttribute(\\\"src\\\")) {\\n              v.play().catch(function () { });\\n            } else if (v \u0026\u0026 v.getAttribute(\\\"data-src\\\")) {\\n              v.setAttribute(\\\"src\\\", v.getAttribute(\\\"data-src\\\"));\\n              v.addEventListener(\\\"loadeddata\\\", function () {\\n                v.play().catch(function () { });\\n              }, { once: true });\\n            }\\n          }\\n        });\\n      });\\n    });\\n    var lazyVideos = panel.querySelectorAll(\\\"video[data-src]\\\");\\n    if (\\\"IntersectionObserver\\\" in window) {\\n      var io = new IntersectionObserver(function (entries) {\\n        entries.forEach(function (entry) {\\n          if (entry.isIntersecting) {\\n            var v = entry.target;\\n            if (!v.getAttribute(\\\"src\\\")) {\\n              v.setAttribute(\\\"src\\\", v.getAttribute(\\\"data-src\\\"));\\n              v.addEventListener(\\\"loadeddata\\\", function () {\\n                try { v.play(); } catch (_) { }\\n              }, { once: true });\\n            }\\n            io.unobserve(v);\\n          }\\n        });\\n      }, { root: null, rootMargin: \\\"200px 0px\\\", threshold: 0.1 });\\n      lazyVideos.forEach(function (v) { io.observe(v); });\\n    } else {\\n      lazyVideos.forEach(function (v) {\\n        v.setAttribute(\\\"src\\\", v.getAttribute(\\\"data-src\\\"));\\n      });\\n    }\\n    var first = panel.querySelector('.ackxNew_sv_item.active video');\\n    if (first \u0026\u0026 first.getAttribute('data-src')) {\\n      first.setAttribute('src', first.getAttribute('data-src'));\\n      first.addEventListener('loadeddata', function () {\\n        try { first.play(); } catch (_) { }\\n      }, { once: true });\\n    }\\n  });\\n\u003c\/script\u003e\",\n        \"color_scheme\": \"\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0\n      }\n    },\n    \"custom_liquid_dDzryf\": {\n      \"type\": \"custom-liquid\",\n      \"name\": \"t:sections.custom-liquid.presets.name\",\n      \"settings\": {\n        \"custom_liquid\": \"\u003cdiv id='\\\"precision-section\\\"' class='\\\"ac_precision-wrapper\\\"'\u003e\\n    \u003cdiv class='\\\"page-width\\\"' style='\\\"margin-bottom:'\u003e\\n        \u003c!-- 第一个新section（图片为背景，文字内嵌到图片中） --\u003e\\n        \u003csection class='\\\"ac_intro' ac_intro-hero style='\\\"padding:'\u003e\\n            \u003c!-- PC端图片 --\u003e\\n            \u003cdiv class='\\\"ac_intro-image' pc-only style='\\\"margin:'\u003e\\n                \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Top-Mounted-Spool-Holder-PC.jpg?v=1767785181\\\"\\n' alt='\\\"Top-Mounted' spool holder class='\\\"intro-image\\\"'\u003e\\n                \u003cdiv class='\\\"ac_intro-overlay\\\"'\u003e\\n                    \u003ch2 class='\\\"ac_introTitle\\\"'\u003eTop-Mounted Spool Holder\u003csup style='\\\"font-weight:'\u003e[3]\u003c\/sup\u003e:\u003cbr\u003e\\n                        Frees Up More Space\u003c\/h2\u003e\\n                    \u003cdiv class='\\\"ac_intro-text\\\"'\u003e\\n                        \u003cp class='\\\"ac_intro-paragraph\\\"' style='\\\"text-align:' center\u003eIt's a simple yet elegant solution for\\n                            a clutterless workspace\\n                            that boosts your creativity.\u003c\/p\u003e\\n                    \u003c\/div\u003e\\n                \u003c\/div\u003e\\n            \u003c\/div\u003e\\n            \u003c!-- 移动端图片 --\u003e\\n            \u003cdiv class='\\\"ac_intro-image' mobile-only\u003e\\n                \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Top-Mounted-Spool-Holder-M.jpg?v=1767785181\\\"\\n' alt='\\\"Top-Mounted' spool holder class='\\\"intro-image\\\"'\u003e\\n                \u003cdiv class='\\\"ac_intro-overlay\\\"'\u003e\\n                    \u003ch2 class='\\\"ac_introTitle\\\"'\u003eTop-Mounted Spool Holder[3]: Frees Up More Space\u003c\/h2\u003e\\n                    \u003cdiv class='\\\"ac_intro-text\\\"'\u003e\\n                        \u003cp class='\\\"ac_intro-paragraph\\\"'\u003eIt's a simple yet elegant solution for a clutterless workspace\\n                            that boosts your creativity.\u003c\/p\u003e\\n                    \u003c\/div\u003e\\n                \u003c\/div\u003e\\n            \u003c\/div\u003e\\n        \u003c\/section\u003e\\n\\n        \u003c!-- 第二个新section --\u003e\\n        \u003csection class='\\\"ac_intro\\\"'\u003e\\n            \u003ch2 class='\\\"ac_introTitle\\\"'\u003eIt's a Fast \u0026amp; Smooth Sailing: Complete Benchy in 14mins\u003c\/h2\u003e\\n            \u003cdiv class='\\\"ac_intro-text\\\"'\u003e\\n                \u003cp class='\\\"ac_intro-paragraph\\\"'\u003ePrint 12 times faster and save up to 80% print time.\u003c\/p\u003e\\n            \u003c\/div\u003e\\n            \u003c!-- PC端图片 --\u003e\\n            \u003cdiv class='\\\"ac_intro-image' pc-only\u003e\\n                \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/kobra-x-Benchy-PC.jpg?v=1767785181\\\"\\n' alt='\\\"Complete' benchy in class='\\\"intro-image\\\"'\u003e\\n            \u003c\/div\u003e\\n            \u003c!-- 移动端图片 --\u003e\\n            \u003cdiv class='\\\"ac_intro-image' mobile-only\u003e\\n                \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/kobra-x-Benchy-M.jpg?v=1767785180\\\"\\n' alt='\\\"Complete' benchy in class='\\\"intro-image\\\"'\u003e\\n            \u003c\/div\u003e\\n        \u003c\/section\u003e\\n\\n        \u003c!-- 原有的section --\u003e\\n        \u003csection class='\\\"ac_intro\\\"' style='\\\"padding:'\u003e\\n            \u003ch2 class='\\\"ac_introTitle\\\"'\u003eLeviQ3.0: First Layer is Top-Tier\u003c\/h2\u003e\\n            \u003cdiv class='\\\"ac_intro-gallery\\\"'\u003e\\n                \u003c!-- PC端图片 --\u003e\\n                \u003cdiv class='\\\"ac_intro-image' pc-only\u003e\\n                    \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Auto-Leveling-PC.jpg?v=1767785182\\\"\\n' alt='\\\"LeviQ3.0\\\"' class='\\\"intro-image\\\"'\u003e\\n                \u003c\/div\u003e\\n                \u003c!-- 移动端图片 --\u003e\\n                \u003cdiv class='\\\"ac_intro-image' mobile-only\u003e\\n                    \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Auto-Leveling-M.jpg?v=1767871608\\\"\\n' alt='\\\"LeviQ3.0\\\"' class='\\\"intro-image\\\"'\u003e\\n                \u003c\/div\u003e\\n            \u003c\/div\u003e\\n        \u003c\/section\u003e\\n\\n        \u003csection class='\\\"ac_scroll-gallery\\\"'\u003e\u003c\/section\u003e\\n    \u003c\/div\u003e\\n\u003c\/div\u003e\\n\\n\u003cstyle\u003e\\n    .ac_precision-wrapper {\\n        width: 100%;\\n        overflow: hidden;\\n        background: #000;\\n        color: #fff;\\n    }\\n\\n    .ac_intro {\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: flex-start;\\n        align-items: center;\\n        padding: 40px 0;\\n        position: relative;\\n    }\\n\\n    .ac_intro-text {\\n        width: 100%;\\n        max-width: 1080px;\\n        margin: 0 auto;\\n        padding: 0 20px;\\n        text-align: center;\\n    }\\n\\n    .ac_intro-text p,\\n    .ac_intro-paragraph {\\n        font-size: 18px;\\n        line-height: 1.7;\\n        color: #bbb;\\n        margin-bottom: 0;\\n    }\\n\\n    .ac_introTitle {\\n        color: #fff;\\n        font-weight: 700;\\n        font-size: 32px;\\n        line-height: 136%;\\n        letter-spacing: 0%;\\n        text-align: center;\\n        margin-top: 0;\\n        margin-bottom: 20px;\\n    }\\n\\n    \/* 添加section之间的分隔线（可选） *\/\\n    .ac_intro+.ac_intro {\\n        \/* border-top: 1px solid rgba(255, 255, 255, 0.1); *\/\\n    }\\n\\n    \/* =====================\\n       图片显示控制\\n    ===================== *\/\\n    .ac_intro-image {\\n        width: 100%;\\n        max-width: 1400px;\\n        margin: 30px auto 0;\\n        text-align: center;\\n        position: relative;\\n    }\\n\\n    .ac_intro-image .intro-image {\\n        width: 100%;\\n        height: auto;\\n        border-radius: 12px;\\n        object-fit: cover;\\n    }\\n\\n    \/* 图片内嵌文字样式（hero） *\/\\n    .ac_intro-hero .ac_intro-overlay {\\n        position: absolute;\\n        inset: 0;\\n        \/* display: flex; *\/\\n        justify-content: flex-end;\\n        align-items: center;\\n        padding: 24px;\\n        box-sizing: border-box;\\n    }\\n\\n    .ac_intro-hero .ac_intro-overlay h2 {\\n        text-align: center !important;\\n    }\\n\\n    .ac_intro-hero .ac_intro-overlay .ac_introTitle,\\n    .ac_intro-hero .ac_intro-overlay .ac_intro-text p {\\n        color: #fff;\\n        text-align: left;\\n    }\\n\\n    .ac_intro-hero .ac_intro-overlay .ac_introTitle {\\n        margin: 0 0 12px 0;\\n    }\\n\\n    .ac_intro-hero .ac_intro-overlay .ac_intro-text {\\n        max-width: 720px;\\n    }\\n\\n    \/* PC端和移动端图片显示控制 *\/\\n    .pc-only {\\n        display: block;\\n    }\\n\\n    .mobile-only {\\n        display: none;\\n    }\\n\\n    \/* =====================\\n   滚动内容区\\n===================== *\/\\n    .ac_scroll-gallery {\\n        position: relative;\\n        height: auto;\\n    }\\n\\n    \/* 所有 panel 统一为紧凑、无特效的布局 *\/\\n    .ac_panel {\\n        position: relative;\\n        min-height: auto;\\n        padding: 40px 0;\\n        background: #000;\\n        z-index: 1;\\n        display: flex;\\n        align-items: center;\\n        justify-content: space-between;\\n        opacity: 1;\\n        transform: none;\\n        transition: none;\\n    }\\n\\n    .ac_panel.ac_has-border {\\n        background: #121417;\\n        border: 1px solid rgba(255, 255, 255, 0.12);\\n        border-radius: 16px;\\n        padding: 24px;\\n        box-sizing: border-box;\\n        overflow: hidden;\\n        gap: 16px;\\n    }\\n\\n    .ac_panel.ac_has-border .ac_text p {\\n        color: #fff;\\n    }\\n\\n    .ac_orange {\\n        color: #FF6A00;\\n    }\\n\\n    .ac_metric {\\n        color: #FF6A00;\\n        font-weight: 700;\\n        font-size: 26px;\\n        margin-top: 20px;\\n    }\\n\\n    .ac_panel.ac_active {\\n        opacity: 1;\\n        transform: translateY(0);\\n        z-index: 2;\\n    }\\n\\n    .ac_panel.ac_reverse {\\n        flex-direction: row-reverse;\\n    }\\n\\n    .ac_panel .ac_text {\\n        flex: 0.45;\\n        padding: 20px;\\n        font-weight: 400;\\n        font-style: Regular;\\n        font-size: 20px;\\n        line-height: 150%;\\n        letter-spacing: 0%;\\n    }\\n\\n    .ac_panel .ac_text h3 {\\n        margin-bottom: 20px;\\n        font-weight: 700;\\n        font-size: 32px;\\n        line-height: 140%;\\n        letter-spacing: 0%;\\n        color: #fff;\\n    }\\n\\n    .ac_panel .ac_text p {\\n        font-size: 18px;\\n        color: #bbb;\\n        line-height: 1.6;\\n    }\\n\\n    .ac_panel p.ac_tips {\\n        font-size: 16px;\\n        line-height: 1.5;\\n        margin-top: 6px;\\n        color: #888;\\n    }\\n\\n    .ac_panel strong {\\n        color: #fff;\\n    }\\n\\n    .ac_panel .ac_media {\\n        flex: 0.5;\\n        text-align: center;\\n    }\\n\\n    .ac_panel .ac_media img,\\n    .ac_panel .ac_media video {\\n        width: 100%;\\n        border-radius: 12px;\\n        object-fit: cover;\\n        max-height: 80vh;\\n    }\\n\\n    \/* ===== 特殊处理：标题panel垂直居中显示 ===== *\/\\n    .ac_panel.ac_special-center {\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: center;\\n        align-items: center;\\n        gap: 24px;\\n        padding: 0;\\n        min-height: auto;\\n        box-sizing: border-box;\\n    }\\n\\n    .ac_panel.ac_special-center .ac_text {\\n        flex: 0 0 45%;\\n        text-align: center;\\n        padding: 20px;\\n        display: flex;\\n        flex-direction: column;\\n        justify-content: center;\\n    }\\n\\n    .ac_panel.ac_special-center .ac_media {\\n        flex: 0 0 45%;\\n        max-width: 100%;\\n        max-height: 720px;\\n        display: flex;\\n        justify-content: center;\\n        align-items: center;\\n    }\\n\\n    .ac_panel.ac_special-center .ac_media img,\\n    .ac_panel.ac_special-center .ac_media video {\\n        width: 100%;\\n        height: auto;\\n        border-radius: 12px;\\n    }\\n\\n    .ackx_small-text {\\n        font-size: 28px;\\n    }\\n\\n    \/* 移动端样式优化 *\/\\n    @media (max-width: 768px) {\\n        .ac_intro {\\n            padding: 10px 0;\\n        }\\n\\n        .ac_intro-hero .ac_intro-overlay {\\n            justify-content: center;\\n            align-items: flex-end;\\n            padding: 0;\\n        }\\n\\n        .ac_intro-hero .ac_intro-overlay .ac_intro-text {\\n            max-width: 92%;\\n        }\\n\\n        .ac_introTitle {\\n            font-size: 28px;\\n            margin-bottom: 15px;\\n        }\\n\\n        .ac_intro-text p,\\n        .ac_intro-paragraph {\\n            font-size: 16px;\\n        }\\n\\n        \/* 移动端图片显示控制 *\/\\n        .pc-only {\\n            display: none;\\n        }\\n\\n        .mobile-only {\\n            display: block;\\n        }\\n\\n        .ac_intro-image {\\n            margin: 20px auto 0;\\n        }\\n\\n        .ac_intro-image .intro-image {\\n            object-fit: contain;\\n        }\\n\\n        .ac_panel .ac_text p {\\n            font-size: 14px;\\n        }\\n\\n        .ac_panel p.ac_tips {\\n            font-size: 14px;\\n        }\\n\\n        .ac_panel .ac_text h3 {\\n            font-size: 36px;\\n        }\\n\\n        .ac_scroll-gallery {\\n            height: auto;\\n        }\\n\\n        .ac_panel {\\n            position: relative !important;\\n            height: auto;\\n            display: flex;\\n            flex-direction: column !important;\\n            justify-content: flex-start;\\n            align-items: center;\\n            padding: 10px 0;\\n        }\\n\\n        .ac_panel.ac_has-border {\\n            gap: 12px;\\n            border: none;\\n            padding: 0;\\n            background: transparent;\\n        }\\n\\n        .ac_panel:nth-child(-n+3) {\\n            min-height: auto;\\n            margin-bottom: 10px;\\n        }\\n\\n        .ac_panel:nth-child(n+4) {\\n            justify-content: center;\\n            opacity: 0;\\n            transform: translateY(20px);\\n            transition: opacity 0.6s ease-out, transform 0.6s ease-out;\\n        }\\n\\n        .ac_panel.ac_active {\\n            opacity: 1;\\n            transform: translateY(0);\\n        }\\n\\n        .ac_panel:not(.ac_special-center) .ac_text,\\n        .ac_panel:not(.ac_special-center) .ac_media {\\n            flex: none;\\n            width: 100%;\\n            max-width: 100%;\\n            padding: 0;\\n            text-align: center;\\n        }\\n\\n        .ac_panel:not(.ac_special-center) .ac_media {\\n            margin-top: 16px;\\n        }\\n\\n        .ac_panel:not(.ac_special-center) .ac_media img,\\n        .ac_panel:not(.ac_special-center) .ac_media video {\\n            width: 100%;\\n            object-fit: cover;\\n            border-radius: 12px;\\n            max-height: none;\\n        }\\n\\n        .ac_panel:not(.ac_special-center) .ac_media img {\\n            object-fit: contain;\\n        }\\n\\n        .ac_panel.ac_special-center {\\n            padding-top: 20px;\\n            height: auto;\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: flex-start;\\n            align-items: center;\\n            position: relative;\\n            gap: 20px;\\n        }\\n\\n        .ac_panel.ac_special-center .ac_text {\\n            position: relative;\\n            left: auto;\\n            top: auto;\\n            transform: none;\\n            width: 100%;\\n            padding: 0;\\n            max-width: 90%;\\n            z-index: 2;\\n            text-align: center;\\n            color: #333;\\n            order: 1;\\n        }\\n\\n        .ac_panel.ac_special-center .ac_media {\\n            width: 100%;\\n            height: auto;\\n            max-height: 60vh;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n            order: 2;\\n        }\\n\\n        .ac_panel.ac_special-center .ac_media img,\\n        .ac_panel.ac_special-center .ac_media video {\\n            width: 100%;\\n            height: auto;\\n            max-height: 60vh;\\n            object-fit: contain;\\n            border-radius: 12px;\\n        }\\n\\n        .ac_panel .ac_media img,\\n        .ac_panel .ac_media video {\\n            width: 100%;\\n            max-height: 80vh;\\n        }\\n\\n        .ac_introTitle {\\n            font-weight: 700;\\n            font-size: 28px;\\n            line-height: 136%;\\n            letter-spacing: 0%;\\n            text-align: center;\\n            color: #fff;\\n            padding: 0;\\n        }\\n\\n        .ac_intro-text {\\n            padding: 0 16px;\\n        }\\n\\n        .ac_intro-text p {\\n            font-size: 16px;\\n        }\\n\\n        .ackx_small-text {\\n            font-size: 24px;\\n        }\\n    }\\n\u003c\/style\u003e\\n\\n\u003cscript\u003e\\n    document.addEventListener(\\\"DOMContentLoaded\\\", () =\u003e {\\n        const data = [\\n            {\\n                title: \\\"Precision Operation\\\",\\n                text: `\u003cspan class=\\\"ac_orange\\\"\u003eThe new-generation leveling algorithm optimizes X-, Y-, \u0026 Z-axis repeat precision\u003c\/span\u003e, integrates multi-point data modeling, and automatically corrects the smallest deviations, making every leveling process more efficient and precise.`,\\n                metric: `Repeat Precision \u003cbr\u003e\u003cspan class=\\\"ac_orange ackx_small-text\\\"\u003e\u0026lt; 0.02mm*\u003c\/span\u003e`,\\n                tips: `*Data provided by Anycubic Lab`,\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Precision-Operation.jpg?v=1767785181`,\\n                hasBorder: true,\\n            },\\n            {\\n                title: \\\"Even Heat Distribution\\\",\\n                text: `Improved overall thermal uniformity of the hotbed, maintaining consistent heat across the entire hotbed surface and superior flatness.\u003c\/span\u003e`,\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/Even-Heat-Distribution.jpg?v=1767785179`,\\n                hasBorder: true,\\n            },\\n            {\\n                title: \\\"Auto-Leveling\\\",\\n                text: `49-point auto-leveling with 100% manual compensation-free operation.`,\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/49-point.jpg?v=1767785181`,\\n                hasBorder: true,\\n            },\\n            {\\n                title: \\\"Automatic Calibration: Smooth Model Surfaces\\\",\\n                text: \\\"\\\",\\n                tips: \\\"\\\",\\n                media: ``,\\n                isTitle: true,\\n            },\\n            {\\n                title: \\\"Flow Dynamic Calibration:\\\",\\n                text: \\\"Kobra OS features built-in flow compensation, which dynamically coordinates speed and extrusion force in real-time, automatically adjusting the flow factor to enhance print quality.\\\",\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/kobra-x-Flow-Dynamic-Calibration-13.jpg?v=1766568370`,\\n            },\\n            {\\n                title: \\\"Vibration Compensation:\\\",\\n                text: `Utilizing a built-in accelerometer, the system automatically detects resonant frequencies to eliminate ghosting on printed models.`,\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/kobra-x-vibration-compensation-14.jpg?v=1766568370`,\\n            },\\n            {\\n                title: \\\"Plug \u0026 Play is the Full Experience\\\",\\n                text: \\\"\\\",\\n                tips: \\\"\\\",\\n                media: ``,\\n                isTitle: true,\\n            },\\n            {\\n                title: \\\"Pop it off, Swap it On: Quick-Release Hotend\\\",\\n                text: \\\"It comes standard with a 0.4mm hardened steel nozzle, which can be replaced by simply opening the quick-release. Nozzles in 0.25mm\/0.6mm\/0.8mm sizes are also available for replacement, allowing flexible adaptation to various printing requirements.\\\",\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/kobra-x-Quick-Release-hotend.jpg?v=1767785179`,\\n            },\\n            {\\n                title: \\\"Quiet? That's Such an Understatement[4]\\\",\\n                text: `Powered by a in-house motion control system that achieves active noise cancellation.\u003cbr\u003eStandard Mode: Operates at ≤48dB, comparable to the ambient noise of a typical quiet office.`,\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/48db.jpg?v=1767856017`,\\n            },\\n            {\\n                title: \\\"260*260*260mm³ Build Volume:\\\",\\n                text: \\\"Print anything you want\\\",\\n                media: `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/bulid-volume.jpg?v=1767785181`,\\n            },\\n        ];\\n\\n        const container = document.querySelector(\\\".ac_scroll-gallery\\\");\\n\\n        \/\/ 动态渲染 panel\\n        data.forEach((item, i) =\u003e {\\n            const panel = document.createElement(\\\"div\\\");\\n            const isSpecial = item.isTitle === true;\\n            \/\/ 第0,2个panel（第1,3个）显示为左图右文，第1个panel（第2个）显示为左文右图\\n            const isReverse = (i \u003c 3 ? i % 2 === 1 : (i % 2 === 0));\\n            panel.className = `ac_panel ${isReverse ? \\\"ac_reverse\\\" : \\\"\\\"} ${isSpecial ? \\\"ac_special-center\\\" : \\\"\\\"} ${item.hasBorder ? \\\"ac_has-border\\\" : \\\"\\\"}`.trim();\\n\\n            let mediaContent = '';\\n            if (!isSpecial \u0026\u0026 item.media) {\\n                if (item.media.endsWith(\\\".mp4\\\")) {\\n                    mediaContent = `\u003cdiv class=\\\"ac_media\\\"\u003e\u003cvideo autoplay muted loop playsinline preload=\\\"none\\\" data-src=\\\"${item.media}\\\"\u003e\u003c\/video\u003e\u003c\/div\u003e`;\\n                } else {\\n                    mediaContent = `\u003cdiv class=\\\"ac_media\\\"\u003e\u003cimg loading=\\\"lazy\\\" decoding=\\\"async\\\" fetchpriority=\\\"low\\\" src=\\\"${item.media}\\\" alt=\\\"${item.title}\\\"\u003e\u003c\/div\u003e`;\\n                }\\n            }\\n\\n            let titleHTML = '';\\n            if (isSpecial) {\\n                titleHTML = `\u003ch2 class=\\\"ac_introTitle\\\"\u003e${item.title}\u003c\/h2\u003e`;\\n            } else {\\n                titleHTML = `\u003ch3\u003e${item.title}\u003c\/h3\u003e`;\\n            }\\n\\n            panel.innerHTML = `\\n                ${mediaContent}\\n                \u003cdiv class=\\\"ac_text\\\"\u003e\\n                    ${titleHTML}\\n                    \u003cp\u003e${item.text}\u003c\/p\u003e\\n                    ${item.metric ? `\u003cp class=\\\"ac_metric\\\"\u003e${item.metric}\u003c\/p\u003e` : ''}\\n                    ${item.tips ? `\u003cp class=\\\"ac_tips\\\"\u003e${item.tips}\u003c\/p\u003e` : ''}\\n                \u003c\/div\u003e\\n            `;\\n\\n            container.appendChild(panel);\\n            panel.classList.add('ac_active');\\n        });\\n\\n        \/\/ 懒加载视频\\n        const lazyVideos = document.querySelectorAll('video[data-src]');\\n        if ('IntersectionObserver' in window) {\\n            const io = new IntersectionObserver((entries) =\u003e {\\n                entries.forEach(entry =\u003e {\\n                    if (entry.isIntersecting) {\\n                        const v = entry.target;\\n                        if (!v.getAttribute('src')) {\\n                            v.setAttribute('src', v.getAttribute('data-src'));\\n                            v.addEventListener('loadeddata', () =\u003e {\\n                                try { v.play(); } catch (_) { }\\n                            }, { once: true });\\n                        }\\n                        io.unobserve(v);\\n                    }\\n                });\\n            }, { root: null, rootMargin: '200px 0px', threshold: 0.1 });\\n            lazyVideos.forEach(v =\u003e io.observe(v));\\n        } else {\\n            lazyVideos.forEach(v =\u003e {\\n                if (!v.getAttribute('src')) v.setAttribute('src', v.getAttribute('data-src'));\\n                try { v.play(); } catch (_) { }\\n            });\\n        }\\n    });\\n\u003c\/script\u003e\",\n        \"color_scheme\": \"\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0\n      }\n    },\n    \"rich_text_thziCb\": {\n      \"type\": \"rich-text\",\n      \"blocks\": {\n        \"heading_K6nGbi\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"\u003cp\u003eThe New Pro Leading the Game ACE 2 Pro\u003c\/p\u003e\",\n            \"heading_size\": \"h3\"\n          }\n        },\n        \"text_7VehKQ\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003ch3\u003e19-Color Builts Legacy\u003c\/h3\u003e\"\n          }\n        },\n        \"text_fF8MrY\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003cp\u003eStandard 7-color printing capability, expandable to 19 colors via a four-unit ACE 2 Pro configuration.\u003c\/p\u003e\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_K6nGbi\",\n        \"text_7VehKQ\",\n        \"text_fF8MrY\"\n      ],\n      \"custom_css\": [\n        \"h2 {background: linear-gradient(90deg, #ffdfc0 0%, #e2995a 100%); -webkit-background-clip: text; \/* 支持 Webkit 内核浏览器 *\/ background-clip: text; color: transparent;}\"\n      ],\n      \"name\": \"t:sections.rich-text.presets.name\",\n      \"settings\": {\n        \"desktop_content_position\": \"center\",\n        \"desktop_content_width\": \"large\",\n        \"content_alignment\": \"center\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"scheme-05959861-e693-495e-8470-63411927f9e9\",\n        \"full_width\": true,\n        \"padding_top\": 40,\n        \"padding_bottom\": 52,\n        \"padding_top_mobile\": 48,\n        \"padding_bottom_mobile\": 48\n      }\n    },\n    \"image_banner_CVdJgG\": {\n      \"type\": \"image-banner\",\n      \"blocks\": {\n        \"heading_mNxgEj\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"Image banner\",\n            \"size\": \"h0\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_mNxgEj\"\n      ],\n      \"name\": \"t:sections.image-banner.presets.name\",\n      \"settings\": {\n        \"layout\": \"full_bleed\",\n        \"image\": \"shopify:\/\/shop_images\/en-1225_613.jpg\",\n        \"image_mobile\": \"shopify:\/\/shop_images\/en-1600_1900.jpg\",\n        \"image_overlay_opacity\": 0,\n        \"image_height\": \"adapt\",\n        \"image_height_mobile\": \"adapt-mobile\",\n        \"desktop_content_position\": \"middle-center\",\n        \"desktop_content_alignment\": \"center\",\n        \"keep_ltr\": false,\n        \"elements_gap\": 30,\n        \"hide_when_empty_image\": false,\n        \"preload\": false,\n        \"enable_parallax_scrolling_effect\": false,\n        \"elements_gap_mobile\": 20,\n        \"mobile_content_alignment\": \"center\",\n        \"show_text_below_image\": true,\n        \"bg_color\": \"\",\n        \"color_text\": \"#ffffff\",\n        \"gradient_heading_desktop\": \"\",\n        \"color_button_text_1\": \"#000000\",\n        \"color_button_1\": \"#ffffff\",\n        \"button_1_opacity\": 5,\n        \"color_button_text_2\": \"#000000\",\n        \"color_button_2\": \"#ffffff\",\n        \"colors_badge_foreground\": \"#ffffff\",\n        \"colors_badge_background\": \"#f87171\",\n        \"color_countdown_foreground\": \"#000000\",\n        \"color_countdown_background\": \"#ffffff\",\n        \"color_text_mobile\": \"#ffffff\",\n        \"gradient_heading_mobile\": \"\",\n        \"color_button_text_1_mobile\": \"#000000\",\n        \"color_button_1_mobile\": \"#ffffff\",\n        \"color_button_text_2_mobile\": \"#000000\",\n        \"color_button_2_mobile\": \"#ffffff\",\n        \"colors_badge_foreground_mobile\": \"#ffffff\",\n        \"colors_badge_background_mobile\": \"#f87171\",\n        \"color_countdown_foreground_mobile\": \"#000000\",\n        \"color_countdown_background_mobile\": \"#ffffff\",\n        \"background_container_mobile\": \"#565656\",\n        \"gradient_background_container_mobile\": \"\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0,\n        \"padding_top_mobile\": 0,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"multicolumn_Rr4jf9\": {\n      \"type\": \"multicolumn\",\n      \"blocks\": {\n        \"column_3AwH78\": {\n          \"type\": \"column\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/S1MC-_Smooth_and-Stable-Feeding_46e39330-a3ca-4b1f-9b27-af958bb8aa93.jpg\",\n            \"icon\": \"check\",\n            \"title\": \"‌Smooth and Stable Feeding‌\",\n            \"text\": \"\u003cp\u003eEngineered for maximum reliability, the new system features four independent brushless motors and a next-generation buffering mechanism. These components work together to ensure smooth, jam-free filament feed and retraction for every channel.\u003cbr\u003e\u003cbr\u003e*Please avoid using cardboard spools, as long-term use may interfere with the normal operation of the ACE 2 Pro due to cardboard spool quality issues.\u003c\/p\u003e\",\n            \"link_label\": \"\",\n            \"link\": \"\",\n            \"button_style\": \"solid\",\n            \"button_open_new_tab\": false,\n            \"card_color_text\": \"#191919\",\n            \"color_button_text\": \"#ffffff\",\n            \"color_button\": \"#2563eb\",\n            \"card_color_background\": \"#ffffff\",\n            \"card_color_background_gradient\": \"\"\n          }\n        },\n        \"column_BQ76XA\": {\n          \"type\": \"column\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/ACE_2_Pro_Faster_Filament_Change_-en_c9fe7a0d-fcfb-431d-b316-e5d17c30322f.jpg\",\n            \"icon\": \"check\",\n            \"title\": \"‌Faster Filament Change‌\",\n            \"text\": \"\u003cp\u003eFilament loading speed increased by 100%, saving 47 minutes per 100 filament changes.\u003c\/p\u003e\",\n            \"link_label\": \"\",\n            \"link\": \"\",\n            \"button_style\": \"solid\",\n            \"button_open_new_tab\": false,\n            \"card_color_text\": \"#191919\",\n            \"color_button_text\": \"#ffffff\",\n            \"color_button\": \"#2563eb\",\n            \"card_color_background\": \"#ffffff\",\n            \"card_color_background_gradient\": \"\"\n          }\n        },\n        \"column_HqnJ8D\": {\n          \"type\": \"column\",\n          \"settings\": {\n            \"image\": \"shopify:\/\/shop_images\/S1MC-_Quiet-and-Durable-en_bba71b5a-370a-4224-a6ab-1a460b698746.jpg\",\n            \"icon\": \"check\",\n            \"title\": \"‌Quiet and Durable‌\",\n            \"text\": \"\u003cp\u003eOperates at under 48dB noise level, with independent brushless motors offering a lifespan of ≥5000 hours.\\t\u003c\/p\u003e\",\n            \"link_label\": \"\",\n            \"link\": \"\",\n            \"button_style\": \"solid\",\n            \"button_open_new_tab\": false,\n            \"card_color_text\": \"#191919\",\n            \"color_button_text\": \"#ffffff\",\n            \"color_button\": \"#2563eb\",\n            \"card_color_background\": \"#ffffff\",\n            \"card_color_background_gradient\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"column_3AwH78\",\n        \"column_BQ76XA\",\n        \"column_HqnJ8D\"\n      ],\n      \"name\": \"t:sections.promotion-cards.presets.name\",\n      \"settings\": {\n        \"text_align\": \"center\",\n        \"title\": \"Upgraded 4 Independent Brushless Motors\",\n        \"subtitle\": \"\",\n        \"heading_size\": \"h2\",\n        \"media_type\": \"image\",\n        \"media_width_desktop\": \"100\",\n        \"image_ratio\": \"adapt\",\n        \"text_position\": \"bottom\",\n        \"columns_desktop\": 3,\n        \"columns_tablet\": 3,\n        \"desktop_gap\": 30,\n        \"auto_fit\": false,\n        \"column_alignment\": \"left\",\n        \"enable_shadow\": true,\n        \"enable_image_shadow\": true,\n        \"background_transparent\": false,\n        \"button_label\": \"\",\n        \"button_link\": \"\",\n        \"button_open_new_tab\": false,\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"enable_parallax_scrolling_effect\": true,\n        \"background_image_overlay_color\": \"button\",\n        \"columns_mobile\": \"1\",\n        \"mobile_gap\": 30,\n        \"media_width_mobile\": \"100\",\n        \"swipe_on_mobile\": false,\n        \"text_boxes_border_thickness\": 0,\n        \"text_boxes_border_opacity\": 0,\n        \"text_boxes_radius\": 10,\n        \"padding_top\": 36,\n        \"padding_bottom\": 36\n      }\n    },\n    \"custom_liquid_AjEbGr\": {\n      \"type\": \"custom-liquid\",\n      \"name\": \"t:sections.custom-liquid.presets.name\",\n      \"settings\": {\n        \"custom_liquid\": \"\\n    \u003cmeta charset='\\\"UTF-8\\\"'\u003e\\n    \u003cmeta name='\\\"viewport\\\"' content='\\\"width=device-width,' initial-scale='1.0\\\"'\u003e\\n    \u003cstyle\u003e\\n\\n        .ac_precision-wrapper {\\n            width: 100%;\\n            overflow: hidden;\\n            background: #0a0d14;\\n            color: #fff;\\n            font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n        }\\n\\n        .ac_intro {\\n            \/* height: 100vh; *\/\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: flex-start;\\n            align-items: center;\\n            padding: 0;\\n            position: relative;\\n        }\\n\\n        .ac_introTitle {\\n            \/* background: linear-gradient(90deg, #0C62FF 0%, #9727FF 100%);\\n            -webkit-background-clip: text;\\n            background-clip: text;\\n            color: transparent; *\/\\n            color: #fff;\\n            font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n            font-weight: 700;\\n            font-size: 32px;\\n            line-height: 136%;\\n            letter-spacing: 0%;\\n            text-align: center;\\n            margin-top: 60px;\\n            margin-bottom: 16px;\\n        }\\n\\n        .ac_intro-body {\\n            font-size: 16px;\\n            line-height: 160%;\\n            color: #bbb;\\n            text-align: center;\\n            max-width: 860px;\\n            \/* margin: 0 20px 24px; *\/\\n        }\\n\\n        .ac_intro-hero {\\n            width: 100%;\\n            margin: 0 auto 40px;\\n        }\\n\\n        .ac_intro-hero img {\\n            width: 100%;\\n            border-radius: 16px;\\n        }\\n\\n        .ac_intro-images {\\n            display: flex;\\n            justify-content: center;\\n            align-items: stretch;\\n            width: 100%;\\n            height: 50vh;\\n            gap: 20px;\\n        }\\n\\n        .ac_intro-left {\\n            \/* flex: 0.6; *\/\\n            max-height: 518px;\\n        }\\n\\n        .ac_intro-images img {\\n            width: 100%;\\n            height: 100%;\\n            border-radius: 16px;\\n            object-fit: cover;\\n        }\\n\\n        \/* 统一图片与视频样式，保证 intro-left 的视频与图片显示一致 *\/\\n        .ac_intro-images img,\\n        .ac_intro-images video,\\n        .ac_intro-left video,\\n        .ac_intro-right video {\\n            display: block;\\n            width: 100%;\\n            height: 100%;\\n            border-radius: 16px;\\n            object-fit: contain;\\n        }\\n\\n        \/* 若需要视频在容器内垂直居中，可以在父容器上这样设置（可选） *\/\\n        .ac_intro-images .ac_intro-left,\\n        .ac_intro-images .ac_intro-right {\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n        }\\n\\n        \/* =====================\\n   滚动内容区\\n===================== *\/\\n        .acsmc_scroll-gallery_2 {\\n            position: relative;\\n            height: auto;\\n        }\\n\\n        \/* 第二屏：图片左，文字右居中，滚动切换 *\/\\n        .ac_gallery {\\n            position: relative;\\n            \/* padding: 20px 5%; *\/\\n        }\\n\\n        .ac_gallery-title {\\n            font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n            font-weight: 700;\\n            font-size: 32px;\\n            line-height: 140%;\\n            letter-spacing: 0%;\\n            color: #fff;\\n            text-align: center;\\n            margin-bottom: 60px;\\n        }\\n\\n        .ac_gallery-content {\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            gap: 24px;\\n            max-width: 1400px;\\n            margin: 0 auto;\\n        }\\n\\n        .ac_gallery-image {\\n            flex: none;\\n            width: 94%;\\n            max-width: 1280px;\\n            position: relative;\\n            margin: 0 auto;\\n        }\\n\\n        .ac_gallery-image img {\\n            width: 100%;\\n            border-radius: 12px;\\n            \/* border: 1px solid #333; *\/\\n            transition: opacity 0.5s ease;\\n        }\\n\\n        .ac_gallery-overlay {\\n            position: absolute;\\n            left: 32px;\\n            top: 50%;\\n            transform: translateY(-50%);\\n            max-width: 35%;\\n            color: #fff;\\n            text-align: left;\\n        }\\n\\n        .ac_gallery-overlay h4 {\\n            color: #fff;\\n            font-size: 18px;\\n            font-weight: 400;\\n            margin-bottom: 8px;\\n        }\\n\\n        .ac_gallery-overlay p {\\n            font-size: 16px;\\n            line-height: 1.6;\\n            color: #bbb;\\n            margin: 0;\\n        }\\n\\n        .ac_gallery-text {\\n            flex: 0.4;\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            text-align: center;\\n            min-height: 200px;\\n            padding: 16px;\\n        }\\n\\n        .ac_gallery-text p {\\n            font-size: 18px;\\n            color: #bbb;\\n            line-height: 1.6;\\n            max-width: 480px;\\n            margin: 0;\\n        }\\n\\n        .ac_gallery-dots {\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n            gap: 8px;\\n            margin-top: 16px;\\n        }\\n\\n        .ac_gallery-dots .dot {\\n            width: 32px;\\n            height: 4px;\\n            border-radius: 2px;\\n            background: #333;\\n        }\\n\\n        .ac_gallery-dots .dot.active {\\n            background: #fff;\\n        }\\n\\n        .s1mc_assist {\\n            position: relative;\\n            \/* padding: 20px 5%; *\/ \\n        }\\n\\n        .s1mc_assist-title {\\n            font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n            font-weight: 700;\\n            font-size: 32px;\\n            line-height: 140%;\\n            letter-spacing: 0%;\\n            color: #fff;\\n            text-align: center;\\n            margin-bottom: 60px;\\n        }\\n\\n        .s1mc_assist-content {\\n            display: flex;\\n            align-items: stretch;\\n            justify-content: center;\\n            gap: 24px;\\n        }\\n\\n        .s1mc_assist-image {\\n            flex: 0.6;\\n        }\\n\\n        .s1mc_assist-image img {\\n            width: 100%;\\n            border-radius: 12px;\\n            border: 1px solid #333;\\n            transition: opacity 0.5s ease;\\n        }\\n\\n        .s1mc_assist-list {\\n            flex: 0.4;\\n            display: flex;\\n            flex-direction: column;\\n            gap: 16px;\\n            justify-content: center;\\n        }\\n\\n        .s1mc_assist-mobile-item {\\n            display: flex;\\n            flex-direction: column;\\n            gap: 12px;\\n            margin-bottom: 20px;\\n        }\\n\\n        .s1mc_assist-mobile-item:last-child {\\n            margin-bottom: 0;\\n        }\\n\\n        .s1mc_assist-item {\\n            border-left: 2px solid #333;\\n            padding-left: 12px;\\n        }\\n\\n        .s1mc_assist-item.active {\\n            border-left-color: #fff;\\n            border-left-width: 4px;\\n        }\\n\\n        .s1mc_assist-progress {\\n            width: 6px;\\n            background: rgba(255, 255, 255, 0.35);\\n            border-radius: 3px;\\n            position: relative;\\n            align-self: stretch;\\n        }\\n\\n        .s1mc_assist-progress .fill {\\n            position: absolute;\\n            left: 0;\\n            bottom: 0;\\n            width: 100%;\\n            height: 0;\\n            background: #fff;\\n            border-radius: 3px;\\n            transition: height 0.3s ease;\\n        }\\n\\n        .s1mc_assist-content {\\n            gap: 24px;\\n        }\\n\\n        .s1mc_assist-progress {\\n            flex: 0 0 6px;\\n        }\\n\\n        .s1mc_assist-item h4 {\\n            font-size: 22px;\\n            font-weight: 700;\\n            color: #bbb;\\n            margin: 0 0 6px;\\n        }\\n\\n        .s1mc_assist-item p {\\n            font-size: 16px;\\n            color: #777;\\n            margin: 0;\\n            margin-bottom: 12px;\\n        }\\n\\n        .s1mc_assist-item.active h4 {\\n            color: #fff;\\n        }\\n\\n        .s1mc_assist-item.active p {\\n            color: #bbb;\\n        }\\n\\n        @media (max-width: 768px) {\\n            .s1mc_assist-item h4 {\\n                font-size: 18px;\\n                color: #fff;\\n            }\\n\\n            .s1mc_assist-title {\\n                font-size: 22px;\\n            }\\n\\n            .s1mc_assist-content {\\n                flex-direction: column;\\n            }\\n\\n            .s1mc_assist-list {\\n                order: 1;\\n                flex: none;\\n                width: 100%;\\n            }\\n\\n            .s1mc_assist-image {\\n                order: 2;\\n                flex: none;\\n                width: 100%;\\n            }\\n        }\\n\\n\\n        \/* 所有 panel 统一为紧凑、无特效的布局 *\/\\n        .ac_panel {\\n            position: relative;\\n            min-height: auto;\\n            \/* padding: 20px 5%; *\/\\n            background: #0a0d14;\\n            z-index: 1;\\n            display: flex;\\n            align-items: center;\\n            justify-content: space-between;\\n            opacity: 1;\\n            transform: none;\\n            transition: none;\\n        }\\n\\n        .ac_panel.ac_active {\\n            opacity: 1;\\n            transform: translateY(0);\\n            z-index: 2;\\n        }\\n\\n        .ac_panel.ac_reverse {\\n            flex-direction: row-reverse;\\n        }\\n\\n        .ac_panel .ac_text {\\n            flex: 0.45;\\n            padding: 20px;\\n            font-family: OPPO Sans 4.0;\\n            font-weight: 400;\\n            font-style: Regular;\\n            font-size: 20px;\\n            line-height: 150%;\\n            letter-spacing: 0%;\\n        }\\n\\n        .ac_panel .ac_text h3 {\\n            margin-bottom: 20px;\\n            font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n            font-weight: 700;\\n            font-size: 32px;\\n            line-height: 140%;\\n            letter-spacing: 0%;\\n            color: #fff;\\n        }\\n\\n        .ac_panel .ac_text p {\\n            font-size: 18px;\\n            color: #bbb;\\n            line-height: 1.6;\\n        }\\n\\n        .ac_panel strong {\\n            color: #fff;\\n        }\\n\\n        .ac_panel .ac_media {\\n            flex: 0.5;\\n            text-align: center;\\n        }\\n\\n        .ac_panel .ac_media img,\\n        .ac_panel .ac_media video {\\n            width: 100%;\\n            border-radius: 12px;\\n            object-fit: cover;\\n            max-height: 80vh;\\n        }\\n\\n        \/* ===== 特殊处理：第三个 panel 垂直居中显示 ===== *\/\\n        .ac_panel.ac_special-center {\\n            \/* special-center 保持居中但不占满视口，和其它 panel 一致 *\/\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: center;\\n            align-items: center;\\n            gap: 24px;\\n            \/* padding: 20px 5%; *\/\\n            min-height: auto;\\n            box-sizing: border-box;\\n        }\\n\\n        .ac_panel.ac_special-center .ac_text {\\n            flex: 0 0 45%;\\n            \/* max-width: 50%; *\/\\n            text-align: center;\\n            padding: 20px;\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: center;\\n            \/* 文本垂直居中（关键） *\/\\n        }\\n\\n        .ac_panel.ac_special-center .ac_media {\\n            flex: 0 0 45%;\\n            max-width: 100%;\\n            max-height: 720px;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n            \/* 媒体垂直居中（关键） *\/\\n        }\\n\\n        .ac_panel.ac_special-center .ac_media img,\\n        .ac_panel.ac_special-center .ac_media video {\\n            width: 100%;\\n            height: auto;\\n            \/* max-height: 60vh; *\/\\n            border-radius: 12px;\\n        }\\n\\n        \/* 移动端样式优化 *\/\\n        @media (max-width: 768px) {\\n            .ac_panel .ac_text p {\\n                font-size: 14px;\\n            }\\n\\n            .ac_panel .ac_text h3 {\\n                font-size: 36px;\\n                \/* 手机端二级标题 36px *\/\\n            }\\n\\n            \/* 整体滚动区改为自动高度 *\/\\n            .acsmc_scroll-gallery_2 {\\n                height: auto;\\n            }\\n\\n            .ac_gallery-title {\\n                font-size: 28px;\\n            }\\n\\n            .ac_gallery-content {\\n                flex-direction: column;\\n            }\\n\\n            .ac_gallery-image,\\n            .ac_gallery-text {\\n                flex: none;\\n                width: 100%;\\n            }\\n\\n            .ac_gallery-text p {\\n                font-size: 16px;\\n                max-width: none;\\n            }\\n\\n            .ac_gallery-overlay {\\n                left: 16px;\\n                bottom: 16px;\\n                top: auto;\\n                transform: none;\\n                max-width: 80%;\\n            }\\n\\n            .ac_gallery-overlay h4 {\\n                font-size: 16px;\\n            }\\n\\n            .ac_gallery-overlay p {\\n                font-size: 14px;\\n            }\\n\\n            \/* panel 在移动端的基础样式 *\/\\n            .ac_panel {\\n                position: relative !important;\\n                height: auto;\\n                display: flex;\\n                flex-direction: column !important;\\n                \/* 强制所有panel在移动端上下布局 *\/\\n                justify-content: flex-start;\\n                align-items: center;\\n                padding: 5% 4%;\\n            }\\n\\n            \/* 前三个panel的移动端样式 *\/\\n            .ac_panel:nth-child(-n+3) {\\n                min-height: auto;\\n                padding: 30px 4%;\\n                margin-bottom: 20px;\\n            }\\n\\n            \/* 第四个panel开始的移动端样式 *\/\\n            .ac_panel:nth-child(n+4) {\\n                \/* min-height: 100vh; *\/\\n                justify-content: center;\\n                opacity: 0;\\n                transform: translateY(20px);\\n                transition: opacity 0.6s ease-out, transform 0.6s ease-out;\\n            }\\n\\n            \/* 激活状态的动画效果 *\/\\n            .ac_panel.ac_active {\\n                opacity: 1;\\n                transform: translateY(0);\\n            }\\n\\n            .ac_panel:not(.ac_special-center) .ac_text,\\n            .ac_panel:not(.ac_special-center) .ac_media {\\n                flex: none;\\n                width: 100%;\\n                max-width: 100%;\\n                \/* padding: 0 16px; *\/\\n                text-align: center;\\n            }\\n\\n            .ac_panel:not(.ac_special-center) .ac_media {\\n                margin-top: 16px;\\n            }\\n\\n            .ac_panel:not(.ac_special-center) .ac_media img,\\n            .ac_panel:not(.ac_special-center) .ac_media video {\\n                width: 100%;\\n                \/* height: 60vh; *\/\\n                object-fit: cover;\\n                border-radius: 12px;\\n                max-height: none;\\n            }\\n\\n            .ac_panel:not(.ac_special-center) .ac_media img {\\n                object-fit: contain;\\n            }\\n\\n            \/* 保留并强化 special-center 在移动端的全屏覆盖行为（如果已存在则为冗余安全覆盖） *\/\\n            \/* 修改 special-center 在移动端的样式 *\/\\n            .ac_panel.ac_special-center {\\n                padding: 20px 0;\\n                height: auto;\\n                \/* min-height: 100vh; *\/\\n                display: flex;\\n                flex-direction: column;\\n                justify-content: flex-start;\\n                align-items: center;\\n                position: relative;\\n                gap: 20px;\\n            }\\n\\n            .ac_panel.ac_special-center .ac_text {\\n                position: relative;\\n                \/* 改为相对定位 *\/\\n                left: auto;\\n                top: auto;\\n                transform: none;\\n                width: 100%;\\n                padding: 16px;\\n                max-width: 90%;\\n                z-index: 2;\\n                text-align: center;\\n                color: #333;\\n                \/* 恢复正常文字颜色 *\/\\n                order: 1;\\n                \/* 文字放在上面 *\/\\n            }\\n\\n            .ac_panel.ac_special-center .ac_media {\\n                width: 100%;\\n                height: auto;\\n                max-height: 60vh;\\n                \/* 限制视频高度 *\/\\n                display: flex;\\n                justify-content: center;\\n                align-items: center;\\n                order: 2;\\n                \/* 媒体放在下面 *\/\\n            }\\n\\n            .ac_panel.ac_special-center .ac_media img,\\n            .ac_panel.ac_special-center .ac_media video {\\n                width: 100%;\\n                height: auto;\\n                max-height: 60vh;\\n                object-fit: contain;\\n                border-radius: 12px;\\n            }\\n\\n            .ac_panel.ac_special-center .ac_text {\\n                \/* position: absolute;\\n            left: 50%;\\n            top: 50%;\\n            transform: translate(-50%, -50%); *\/\\n                z-index: 2;\\n                text-align: center;\\n                color: #fff;\\n            }\\n\\n            .ac_panel .ac_media img,\\n            .ac_panel .ac_media video {\\n                width: 100%;\\n                \/* height: 400px; *\/\\n                max-height: 80vh;\\n            }\\n\\n            .ac_introTitle {\\n                \/* background: linear-gradient(90deg, #0C62FF 0%, #9727FF 100%);\\n                -webkit-background-clip: text;\\n                background-clip: text;\\n                color: transparent; *\/\\n                color: #fff;\\n\\n                font-family: \\\"OPPO Sans 4.0\\\", sans-serif;\\n                font-weight: 700;\\n                font-size: 22px;\\n                \/* 移动端保持一级标题 50px *\/\\n                line-height: 136%;\\n                letter-spacing: 0%;\\n                text-align: center;\\n                margin-bottom: 20px;\\n                padding: 0 20px;\\n                \/* 移动端添加两边间距 *\/\\n            }\\n\\n            .ac_intro-images {\\n                flex-direction: column;\\n                height: auto;\\n            }\\n\\n            .ac_intro-left {\\n                order: 2;\\n            }\\n        }\\n    \u003c\/style\u003e\\n\\n\\n\u003cdiv id='\\\"precision-section\\\"' class='\\\"ac_precision-wrapper\\\"'\u003e\\n    \u003cdiv class='\\\"page-width\\\"'\u003e\\n        \u003c!-- 第一屏 --\u003e\\n        \u003csection class='\\\"ac_intro\\\"'\u003e\\n            \u003ch2 class='\\\"ac_introTitle\\\"'\u003e65℃ High-Temperature Drying While Printing\u003c\/h2\u003e\\n            \u003cp class='\\\"ac_intro-body\\\"'\u003eWant to print perfect models? Filament drying is key. The ACE 2 Pro supports\\n                simultaneous drying and printing, keeping the filaments as fresh as the day they came in.\u003c\/p\u003e\\n            \u003cdiv class='\\\"ac_intro-hero\\\"'\u003e\\n                \u003cimg src='\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/kobra-s1-max-combo-65_-high-temperature-drying-while-printing.jpg?v=1763376784\\\"\\n' alt='\\\"65℃' high-temperature drying while printing\u003e\\n            \u003c\/div\u003e\\n        \u003c\/section\u003e\\n\\n        \u003c!-- 滚屏展示区 --\u003e\\n        \u003csection class='\\\"acsmc_scroll-gallery_2\\\"'\u003e\u003c\/section\u003e\\n    \u003c\/div\u003e\\n\u003c\/div\u003e\\n\\n\u003cscript src='\\\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\\\"'\u003e\u003c\/script\u003e\\n\u003cscript src='\\\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/ScrollTrigger.min.js\\\"'\u003e\u003c\/script\u003e\\n\\n\u003cscript\u003e\\n    document.addEventListener(\\\"DOMContentLoaded\\\", () =\u003e {\\n        gsap.registerPlugin(ScrollTrigger);\\n\\n        const data = [{\\n            title: \\\"Active+Passive Moisture Control\\\",\\n            text: [\\n                `Built-in temperature and humidity sensors provide real-time monitoring of chamber conditions.`,\\n                `An electromagnetic valve actively removes moisture, keeping filaments dry.`,\\n                `Silicone sealing ring blocks external humidity for long-term anti-moisture protection.`\\n            ],\\n            pcImg: [\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/s1mc-temperature-and-humidity-sensors-pc.jpg?v=1763705639`,\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/s1mc-electromagnetic-valve-pc.jpg?v=1763705639`,\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/1225_613_b25e9739-ea71-432b-931c-7c6fe40e4c37.jpg?v=1768472481`\\n            ],\\n            mobImg: [\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/s1mc-temperature-and-humidity-sensors-m.jpg?v=1763705640`, `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/s1mc-electromagnetic-valve-m.jpg?v=1763705640`, `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/1900_1955.jpg?v=1768472592`\\n            ],\\n        }, {\\n            title: \\\"On-Board Intelligent Printing Assistant\\\",\\n            text: [\\n                [`Remaining Filament Estimation`, `Remaining filament display.`,],\\n                [`Auto-Filament Refill`, `Pre-sets color\/material profiles enable seamless refill when depleted.`,],\\n                [`Intelligent Identification`, `Auto-detects Anycubic filament parameters, eliminating manual configuration. `,]\\n            ],\\n            pcImg: [\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ACE_2_Pro_Remaining_Filament_Estimation_9225f27b-e142-4d8c-86da-72241c15b498.jpg?v=1768467755`,\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/kobra-s1-max-combo-auto-filament-refill.jpg?v=1763376785`, `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ACE_2_Pro_Intelligent_Identification-en_03cb65e8-a0f0-49cf-b3de-70c53a0ab514.jpg?v=1768467815`\\n            ],\\n            mobImg: [``, ``, ``],\\n        }];\\n\\n        const container = document.querySelector(\\\".acsmc_scroll-gallery_2\\\");\\n\\n        \/\/ 构建第二屏结构（桌面滚动切换，移动端顺序展示）\\n        const gallery = document.createElement('section');\\n        gallery.className = 'ac_gallery';\\n        const isMobileGallery = window.matchMedia('(max-width: 768px)').matches;\\n        if (isMobileGallery) {\\n            const itemsHtml = [0, 1, 2].map((idx) =\u003e {\\n                const src = (data[0].mobImg \u0026\u0026 data[0].mobImg[idx]) ? (data[0].mobImg[idx] || data[0].pcImg[idx]) : data[0].pcImg[idx];\\n                const t = data[0].text[idx];\\n                const title = Array.isArray(t) ? (t[0] || '') : (t || '');\\n                const body = Array.isArray(t) ? (t[1] || '') : '';\\n                return `\\n                \u003cdiv class=\\\"ac_gallery-image\\\"\u003e\\n                  \u003cimg src=\\\"${src}\\\" alt=\\\"${title}\\\"\u003e\\n                  \u003cdiv class=\\\"ac_gallery-overlay\\\"\u003e\\n                    \u003ch4\u003e${title}\u003c\/h4\u003e\\n                    ${body ? `\u003cp\u003e${body}\u003c\/p\u003e` : ''}\\n                  \u003c\/div\u003e\\n                \u003c\/div\u003e`;\\n            }).join('');\\n            gallery.innerHTML = `\\n              \u003ch3 class=\\\"ac_gallery-title\\\"\u003e${data[0].title}\u003c\/h3\u003e\\n              \u003cdiv class=\\\"ac_gallery-content\\\"\u003e${itemsHtml}\u003c\/div\u003e\\n            `;\\n        } else {\\n            gallery.innerHTML = `\\n              \u003ch3 class=\\\"ac_gallery-title\\\"\u003e${data[0].title}\u003c\/h3\u003e\\n              \u003cdiv class=\\\"ac_gallery-content\\\"\u003e\\n                \u003cdiv class=\\\"ac_gallery-image\\\"\u003e\\n                  \u003cimg id=\\\"ac_gallery_img\\\" src=\\\"\\\" alt=\\\"${data[0].title}\\\"\u003e\\n                  \u003cdiv class=\\\"ac_gallery-overlay\\\"\u003e\\n                    \u003ch4 id=\\\"ac_gallery_text_title\\\"\u003e\u003c\/h4\u003e\\n                    \u003cp id=\\\"ac_gallery_text_body\\\"\u003e\u003c\/p\u003e\\n                  \u003c\/div\u003e\\n                \u003c\/div\u003e\\n              \u003c\/div\u003e\\n              \u003cdiv class=\\\"ac_gallery-dots\\\"\u003e\\n                \u003cspan class=\\\"dot\\\"\u003e\u003c\/span\u003e\\n                \u003cspan class=\\\"dot\\\"\u003e\u003c\/span\u003e\\n                \u003cspan class=\\\"dot\\\"\u003e\u003c\/span\u003e\\n              \u003c\/div\u003e\\n            `;\\n        }\\n        container.appendChild(gallery);\\n\\n        function getImgSrc(idx) {\\n            const isMobile = window.matchMedia('(max-width: 768px)').matches;\\n            const m = (data[0].mobImg \u0026\u0026 data[0].mobImg[idx]) ? data[0].mobImg[idx] : '';\\n            const p = (data[0].pcImg \u0026\u0026 data[0].pcImg[idx]) ? data[0].pcImg[idx] : '';\\n            return isMobile ? (m || p) : p;\\n        }\\n\\n        const imgEl = document.getElementById('ac_gallery_img');\\n        const textTitleEl = document.getElementById('ac_gallery_text_title');\\n        const textBodyEl = document.getElementById('ac_gallery_text_body');\\n        const dots = [...gallery.querySelectorAll('.dot')];\\n\\n        function setSlide(idx) {\\n            imgEl.style.opacity = '0';\\n            const nextSrc = getImgSrc(idx);\\n            imgEl.onload = () =\u003e { imgEl.style.opacity = '1'; };\\n            imgEl.src = nextSrc;\\n            const t = data[0].text[idx] || '';\\n            textTitleEl.textContent = Array.isArray(t) ? (t[0] || '') : t;\\n            textBodyEl.textContent = Array.isArray(t) ? (t[1] || '') : '';\\n            dots.forEach((d, i) =\u003e d.classList.toggle('active', i === idx));\\n        }\\n\\n        if (!isMobileGallery) setSlide(0);\\n\\n        \/\/ 桌面端启用滚动切换；移动端不使用 GSAP\\n        let tl;\\n        if (!isMobileGallery) {\\n            tl = gsap.timeline({\\n                scrollTrigger: {\\n                    trigger: gallery,\\n                    start: 'top top',\\n                    end: '+=4000',\\n                    scrub: true,\\n                    pin: true\\n                }\\n            });\\n\\n            tl.add(() =\u003e setSlide(0))\\n                .to({}, { duration: 1 })\\n                .add(() =\u003e setSlide(1))\\n                .to({}, { duration: 1 })\\n                .add(() =\u003e setSlide(2))\\n                .to({}, { duration: 0.5 });\\n        }\\n\\n        window.addEventListener('resize', () =\u003e {\\n            const current = dots.findIndex(d =\u003e d.classList.contains('active'));\\n            setSlide(current \u003c 0 ? 0 : current);\\n        });\\n\\n        const assist = {\\n            title: 'On-Board Intelligent Printing Assistant',\\n            text: [\\n                ['Remaining Filament Estimation', 'Remaining filament display.'],\\n                ['Auto-Filament Refill', 'Pre-sets color\/material profiles enable seamless refill when depleted.'],\\n                ['Intelligent Identification', 'Auto-detects Anycubic filament parameters, eliminating manual configuration.']\\n            ],\\n            pcImg: [\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ACE_2_Pro_Remaining_Filament_Estimation_9225f27b-e142-4d8c-86da-72241c15b498.jpg?v=1768467755`,\\n                `https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/1235\/5357\/files\/kobra-s1-max-combo-auto-filament-refill.jpg?v=1763376785`, `https:\/\/cdn.shopify.com\/s\/files\/1\/0245\/5519\/2380\/files\/ACE_2_Pro_Intelligent_Identification-en_03cb65e8-a0f0-49cf-b3de-70c53a0ab514.jpg?v=1768467815`\\n            ],\\n            mobImg: [``, ``, ``],\\n        };\\n\\n        const assistSection = document.createElement('section');\\n        assistSection.className = 's1mc_assist';\\n        const isMobileAssist = window.matchMedia('(max-width: 768px)').matches;\\n        if (isMobileAssist) {\\n            const mobileItems = assist.text.map((pair, i) =\u003e {\\n                const src = getAssistImg(i);\\n                return `\\n                  \u003cdiv class=\\\"s1mc_assist-mobile-item\\\"\u003e\\n                    \u003cdiv class=\\\"s1mc_assist-item\\\"\u003e\\n                      \u003ch4\u003e${pair[0]}\u003c\/h4\u003e\\n                      \u003cp\u003e${pair[1]}\u003c\/p\u003e\\n                    \u003c\/div\u003e\\n                    \u003cdiv class=\\\"s1mc_assist-image\\\"\u003e\\n                      \u003cimg src=\\\"${src}\\\" alt=\\\"${assist.title}\\\"\u003e\\n                    \u003c\/div\u003e\\n                  \u003c\/div\u003e`;\\n            }).join('');\\n            assistSection.innerHTML = `\\n              \u003ch3 class=\\\"s1mc_assist-title\\\"\u003e${assist.title}\u003c\/h3\u003e\\n              ${mobileItems}\\n            `;\\n        } else {\\n            assistSection.innerHTML = `\\n              \u003ch3 class=\\\"s1mc_assist-title\\\"\u003e${assist.title}\u003c\/h3\u003e\\n              \u003cdiv class=\\\"s1mc_assist-content\\\"\u003e\\n                \u003cdiv class=\\\"s1mc_assist-image\\\"\u003e\\n                  \u003cimg id=\\\"s1mc_assist_img\\\" src=\\\"\\\" alt=\\\"${assist.title}\\\"\u003e\\n                \u003c\/div\u003e\\n                \u003cdiv class=\\\"s1mc_assist-list\\\"\u003e\\n                  ${assist.text.map((pair, i) =\u003e `\\n                    \u003cdiv class=\\\"s1mc_assist-item${i === 0 ? ' active' : ''}\\\" data-idx=\\\"${i}\\\"\u003e\\n                      \u003ch4\u003e${pair[0]}\u003c\/h4\u003e\\n                      \u003cp\u003e${pair[1]}\u003c\/p\u003e\\n                    \u003c\/div\u003e`).join('')}\\n                \u003c\/div\u003e\\n              \u003c\/div\u003e\\n            `;\\n        }\\n        container.appendChild(assistSection);\\n\\n        function getAssistImg(idx) {\\n            const isMobile = window.matchMedia('(max-width: 768px)').matches;\\n            const m = assist.mobImg[idx] || '';\\n            const p = assist.pcImg[idx] || '';\\n            return isMobile ? (m || p) : p;\\n        }\\n\\n        if (!isMobileAssist) {\\n            const assistImgEl = document.getElementById('s1mc_assist_img');\\n            function setAssist(idx) {\\n                assistImgEl.style.opacity = '0';\\n                const nextSrc = getAssistImg(idx);\\n                assistImgEl.onload = () =\u003e { assistImgEl.style.opacity = '1'; };\\n                assistImgEl.src = nextSrc;\\n                assistSection.querySelectorAll('.s1mc_assist-item').forEach((el, i) =\u003e {\\n                    el.classList.toggle('active', i === idx);\\n                });\\n            }\\n            setAssist(0);\\n        }\\n\\n        let tl2;\\n        if (!isMobileAssist) {\\n            tl2 = gsap.timeline({\\n                scrollTrigger: {\\n                    trigger: assistSection,\\n                    start: 'top top',\\n                    end: '+=4000',\\n                    scrub: true,\\n                    pin: true\\n                }\\n            });\\n\\n            tl2.add(() =\u003e setAssist(0))\\n                .to({}, { duration: 1 })\\n                .add(() =\u003e setAssist(1))\\n                .to({}, { duration: 1 })\\n                .add(() =\u003e setAssist(2))\\n                .to({}, { duration: 0.5 });\\n        }\\n\\n        \/\/ 响应式：视口变化时切换图片源\\n        window.addEventListener('resize', () =\u003e {\\n            const current = dots.findIndex(d =\u003e d.classList.contains('active')) || 0;\\n            setSlide(current);\\n            \/\/ 如果切到移动端，移除 GSAP 固定\\n            const nowMobile = window.matchMedia('(max-width: 768px)').matches;\\n            if (nowMobile) {\\n                if (tl \u0026\u0026 tl.scrollTrigger) { tl.scrollTrigger.kill(); tl.kill(); tl = null; }\\n                if (tl2 \u0026\u0026 tl2.scrollTrigger) { tl2.scrollTrigger.kill(); tl2.kill(); tl2 = null; }\\n            }\\n        });\\n    });\\n\u003c\/script\u003e\",\n        \"color_scheme\": \"\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 0\n      }\n    },\n    \"yg_grid_box_qRRtyf\": {\n      \"type\": \"yg-grid-box\",\n      \"blocks\": {\n        \"yg_slide_text_TEANap\": {\n          \"type\": \"yg-slide-text\",\n          \"settings\": {\n            \"column\": \"2\",\n            \"row\": \"1\",\n            \"order_mobile\": 0,\n            \"column_mobile\": \"2\",\n            \"row_mobile\": \"1\",\n            \"slide_color_background\": \"#191919\",\n            \"slide_image\": \"shopify:\/\/shop_images\/kobra-x-720p-camera-18.jpg\",\n            \"box_align\": \"center center\",\n            \"text_align\": \"left\",\n            \"box_align_mobile\": \"center center\",\n            \"text_align_mobile\": \"left\",\n            \"block_title\": \"\",\n            \"block_text\": \"720P Camera: Real-Time AI Monitoring\",\n            \"color\": \"#ffffff\"\n          }\n        },\n        \"item_c8yhnG\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"merge_style\": \"merge-right\",\n            \"column\": \"1\",\n            \"row\": \"1\",\n            \"order_mobile\": 0,\n            \"column_mobile\": \"1\",\n            \"row_mobile\": \"1\",\n            \"image\": \"shopify:\/\/shop_images\/Foreign-Object-Detection-18.jpg\",\n            \"image_mobile\": \"shopify:\/\/shop_images\/Foreign-Object-Detection-18.jpg\",\n            \"box_align\": \"center start\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"end end\",\n            \"text_align_mobile\": \"center\",\n            \"subhead\": \"Foreign Object Detection‌\",\n            \"title\": \"\",\n            \"des\": \"\",\n            \"tags\": \"\",\n            \"tags_color\": \"\",\n            \"tags_bg_color\": \"rgba(0,0,0,0)\",\n            \"btn_label\": \"\",\n            \"btn_link\": \"\",\n            \"btn_bg_color\": \"rgba(0,0,0,0)\",\n            \"btn_text_color\": \"rgba(0,0,0,0)\",\n            \"color\": \"#ffffff\",\n            \"highlight_color\": \"\"\n          }\n        },\n        \"item_GMJXPt\": {\n          \"type\": \"item\",\n          \"settings\": {\n            \"merge_style\": \"merge-left\",\n            \"column\": \"1\",\n            \"row\": \"1\",\n            \"order_mobile\": 0,\n            \"column_mobile\": \"1\",\n            \"row_mobile\": \"1\",\n            \"image\": \"shopify:\/\/shop_images\/kobra-x-Spaghetti-Detection-19.jpg\",\n            \"box_align\": \"end end\",\n            \"text_align\": \"center\",\n            \"box_align_mobile\": \"end end\",\n            \"text_align_mobile\": \"center\",\n            \"subhead\": \"\",\n            \"title\": \"\",\n            \"des\": \"\",\n            \"tags\": \"\",\n            \"tags_color\": \"\",\n            \"tags_bg_color\": \"\",\n            \"btn_label\": \"\",\n            \"btn_link\": \"\",\n            \"btn_bg_color\": \"\",\n            \"btn_text_color\": \"\",\n            \"color\": \"#ffffff\",\n            \"highlight_color\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"yg_slide_text_TEANap\",\n        \"item_c8yhnG\",\n        \"item_GMJXPt\"\n      ],\n      \"name\": \"YG Grid Box\",\n      \"settings\": {\n        \"title\": \"Intelligent Monitoring: It Checks all the Boxes\",\n        \"description\": \"720P Camera: Real-Time AI Monitoring The in-house algorithm and 720P camera detect anomalies and alert users instantly. ‌Foreign Object Detection‌: Automatically identifies debris in the printing area to prevent failures or damage. ‌Spaghetti Detection‌: AI-powered live monitoring prevents spaghetti.\",\n        \"heading_size\": \"h2\",\n        \"text_align\": \"center\",\n        \"show_view_all\": false,\n        \"view_all_label\": \"View all\",\n        \"view_all_link\": \"\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"background-1\",\n        \"padding_top\": 28,\n        \"padding_bottom\": 12,\n        \"padding_top_mobile\": 24,\n        \"padding_bottom_mobile\": 12\n      }\n    },\n    \"image_with_text_A8MXrT\": {\n      \"type\": \"image-with-text\",\n      \"blocks\": {\n        \"heading_mxVJgA\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"Object Skipping\",\n            \"heading_size\": \"h4\",\n            \"enable_bold_heading\": true\n          }\n        },\n        \"text_rt9xLd\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003cp\u003eFaulty parts are skipped to ensure printing efficiency.\u003c\/p\u003e\",\n            \"text_style\": \"body\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_mxVJgA\",\n        \"text_rt9xLd\"\n      ],\n      \"name\": \"t:sections.image-with-text.presets.name\",\n      \"settings\": {\n        \"grid_layout\": \"grid\",\n        \"image\": \"shopify:\/\/shop_images\/kobra-x-Object-Skipping-21.jpg\",\n        \"height\": \"adapt\",\n        \"desktop_image_width\": \"medium\",\n        \"layout\": \"text_first\",\n        \"desktop_content_position\": \"top\",\n        \"desktop_content_alignment\": \"left\",\n        \"content_layout\": \"no-overlap\",\n        \"hide_when_empty_image\": false,\n        \"preload\": false,\n        \"mobile_content_alignment\": \"left\",\n        \"padding_top\": 12,\n        \"padding_bottom\": 36,\n        \"padding_top_mobile\": 12,\n        \"padding_bottom_mobile\": 20,\n        \"color_heading\": \"#000000\",\n        \"gradient_heading\": \"\",\n        \"color_text\": \"#000000\",\n        \"color_highlight_text\": \"#da2127\",\n        \"color_caption\": \"#000000\",\n        \"color_countdown\": \"#000000\",\n        \"color_icon\": \"#000000\",\n        \"color_button_text\": \"#ffffff\",\n        \"color_button\": \"#000000\",\n        \"background_container\": \"#ffffff\",\n        \"gradient_background_container\": \"\",\n        \"background_section\": \"#ffffff\",\n        \"gradient_background_section\": \"\",\n        \"enable_parallax_scrolling_effect\": true,\n        \"overlay_color\": \"#1e40af\"\n      }\n    },\n    \"image_with_text_bytyDX\": {\n      \"type\": \"image-with-text\",\n      \"blocks\": {\n        \"heading_KgBTHj\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"Auto-Resume, Auto-Recovery\",\n            \"heading_size\": \"h4\",\n            \"enable_bold_heading\": true\n          }\n        },\n        \"text_jP6QCb\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003cp\u003eAfter power recovery, the system picks up where it left off and continues to print as if nothing had happened before.\u003c\/p\u003e\",\n            \"text_style\": \"body\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_KgBTHj\",\n        \"text_jP6QCb\"\n      ],\n      \"name\": \"t:sections.image-with-text.presets.name\",\n      \"settings\": {\n        \"grid_layout\": \"grid\",\n        \"image\": \"shopify:\/\/shop_images\/kobra-x-Auto-Resume-Recovery-22.jpg\",\n        \"height\": \"adapt\",\n        \"desktop_image_width\": \"medium\",\n        \"layout\": \"image_first\",\n        \"desktop_content_position\": \"top\",\n        \"desktop_content_alignment\": \"left\",\n        \"content_layout\": \"no-overlap\",\n        \"hide_when_empty_image\": false,\n        \"preload\": false,\n        \"mobile_content_alignment\": \"left\",\n        \"padding_top\": 36,\n        \"padding_bottom\": 36,\n        \"padding_top_mobile\": 24,\n        \"padding_bottom_mobile\": 20,\n        \"color_heading\": \"#000000\",\n        \"gradient_heading\": \"\",\n        \"color_text\": \"#000000\",\n        \"color_highlight_text\": \"#da2127\",\n        \"color_caption\": \"#000000\",\n        \"color_countdown\": \"#000000\",\n        \"color_icon\": \"#000000\",\n        \"color_button_text\": \"#ffffff\",\n        \"color_button\": \"#000000\",\n        \"background_container\": \"#ffffff\",\n        \"gradient_background_container\": \"\",\n        \"background_section\": \"#ffffff\",\n        \"gradient_background_section\": \"\",\n        \"enable_parallax_scrolling_effect\": true,\n        \"overlay_color\": \"#1e40af\"\n      }\n    },\n    \"yg_download_grid_KPrBW3\": {\n      \"type\": \"yg-download-grid\",\n      \"blocks\": {\n        \"image_yLwtdB\": {\n          \"type\": \"image\",\n          \"settings\": {\n            \"icon_image\": \"shopify:\/\/shop_images\/Anycubic-Slicer-Next-Anycubic-APP-23.jpg\",\n            \"image_title\": \"Anycubic Slicer Next\",\n            \"image_text\": \"The Anycubic slicer[5] is preloaded with parameter sets for various materials, making it fully compatible with mainstream brands. Enjoy consistent, excellent results with just one click.\",\n            \"link_label\": \"\",\n            \"image_link\": \"\"\n          }\n        },\n        \"image_WKRqbj\": {\n          \"type\": \"image\",\n          \"settings\": {\n            \"icon_image\": \"shopify:\/\/shop_images\/kobra-x-remote-control-24.jpg\",\n            \"image_title\": \"Anycubic APP\",\n            \"image_text\": \"Monitor your prints from anywhere with the Anycubic App. Use remote viewing to check progress in real-time, or capture and share your journey with built-in time-lapse photography.\",\n            \"link_label\": \"Download Now \u0026gt;\",\n            \"image_link\": \"https:\/\/wiki.anycubic.com\/en\/software-and-app\/anycubic-photon-workshop\"\n          }\n        },\n        \"image_cjwkr6\": {\n          \"type\": \"image\",\n          \"settings\": {\n            \"icon_image\": \"shopify:\/\/shop_images\/Dual-Network-Support-25.jpg\",\n            \"image_title\": \"Dual-Network Support\",\n            \"image_text\": \"Dual-band Wi-Fi (2.4G\/5G) + LAN connectivity. Multiple connection options ensure rock-solid file transfers.\",\n            \"link_label\": \"\",\n            \"image_link\": \"\"\n          }\n        },\n        \"image_pmJFAR\": {\n          \"type\": \"image\",\n          \"settings\": {\n            \"icon_image\": \"shopify:\/\/shop_images\/Privacy-Protection-26.jpg\",\n            \"image_title\": \"‌Privacy Protection‌\",\n            \"image_text\": \"Seamless switching between IoT cloud platform and LAN modes with dual-layer security to safeguard your data privacy.\",\n            \"link_label\": \"\",\n            \"image_link\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"image_yLwtdB\",\n        \"image_WKRqbj\",\n        \"image_cjwkr6\",\n        \"image_pmJFAR\"\n      ],\n      \"name\": \"YG Dwnload Grid\",\n      \"settings\": {\n        \"title\": \"Anycubic 3D Printing Ecosystem\",\n        \"heading_size\": \"h2\",\n        \"text_align\": \"center\",\n        \"show_view_all\": false,\n        \"view_all_label\": \"View all\",\n        \"view_all_link\": \"\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"color_background\": \"#ffffff\",\n        \"item_color_background\": \"#f7f8fa\",\n        \"padding_top\": 40,\n        \"padding_bottom\": 0,\n        \"padding_top_mobile\": 28,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"rich_text_mdmErc\": {\n      \"type\": \"rich-text\",\n      \"blocks\": {\n        \"heading_fDGEUz\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"\u003cp\u003e\u003cstrong\u003eAnycubic Print Guarantee\u003c\/strong\u003e\u003c\/p\u003e\",\n            \"heading_size\": \"h3\"\n          }\n        },\n        \"text_wWLk4m\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003cp\u003eFor orders placed between Jan 15 and Feb 15, Package Protection Service is included at no extra cost, in addition to the Anycubic Print Guarantee for first prints. \u003c\/p\u003e\"\n          }\n        },\n        \"button_iY6j48\": {\n          \"type\": \"button\",\n          \"settings\": {\n            \"button_label\": \"Learn More\",\n            \"button_link\": \"https:\/\/www.anycubic.au\/blogs\/news\/standing-behind-your-first-print-introducing-the-anycubic-print-guarantee\",\n            \"button_style_1\": \"primary\",\n            \"button_open_new_tab_1\": false,\n            \"button_label_2\": \"\",\n            \"button_link_2\": \"\",\n            \"button_style_2\": \"primary\",\n            \"button_open_new_tab_2\": false\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_fDGEUz\",\n        \"text_wWLk4m\",\n        \"button_iY6j48\"\n      ],\n      \"disabled\": true,\n      \"name\": \"t:sections.rich-text.presets.name\",\n      \"settings\": {\n        \"desktop_content_position\": \"center\",\n        \"desktop_content_width\": \"large\",\n        \"content_alignment\": \"center\",\n        \"enable_section_box_layout\": false,\n        \"color_scheme\": \"\",\n        \"full_width\": true,\n        \"padding_top\": 40,\n        \"padding_bottom\": 52,\n        \"padding_top_mobile\": 48,\n        \"padding_bottom_mobile\": 48\n      }\n    },\n    \"image_with_text_7NAA8U\": {\n      \"type\": \"image-with-text\",\n      \"blocks\": {\n        \"heading_pKWQJp\": {\n          \"type\": \"heading\",\n          \"settings\": {\n            \"heading\": \"Packing List\",\n            \"heading_size\": \"h3\",\n            \"enable_bold_heading\": true\n          }\n        },\n        \"text_V3UwqN\": {\n          \"type\": \"text\",\n          \"settings\": {\n            \"text\": \"\u003cp\u003e1. Gantry Frame\u003cbr\u003e2. Printer Base \u003cbr\u003e3. Power Cord\u003cbr\u003e4. Spool Holder Shaft (4pcs)\u003cbr\u003e5. Spool Holder (2pcs)\u003cbr\u003e6. Purge Wiper \u0026amp; M3*8 (1pcs)\u003cbr\u003e7. M5*30 (8pcs)\u003cbr\u003e8. Cable Clip (1pcs)\u003cbr\u003e9. Teflon Tube (4pcs)\u003cbr\u003e10. Filament Samples\u003cbr\u003e11. Grease\u003cbr\u003e12. Nozzle Cleaner\u003cbr\u003e13. 4.0\/2.5\/2.0 \u0026amp; Magnet\u003cbr\u003e14. Decorative Cover (2pcs)\u003cbr\u003e15. Cable Cover\u003cbr\u003e16. Printing Board\u003cbr\u003e17. Application Brush\u003cbr\u003e18. User Manua\u003cbr\u003e19. ACE 2 Pro\u003c\/p\u003e\",\n            \"text_style\": \"body\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"heading_pKWQJp\",\n        \"text_V3UwqN\"\n      ],\n      \"name\": \"t:sections.image-with-text.presets.name\",\n      \"settings\": {\n        \"grid_layout\": \"grid\",\n        \"image\": \"shopify:\/\/shop_images\/KXC_List.jpg\",\n        \"height\": \"adapt\",\n        \"desktop_image_width\": \"large\",\n        \"layout\": \"text_first\",\n        \"desktop_content_position\": \"top\",\n        \"desktop_content_alignment\": \"left\",\n        \"content_layout\": \"no-overlap\",\n        \"hide_when_empty_image\": false,\n        \"preload\": false,\n        \"mobile_content_alignment\": \"left\",\n        \"padding_top\": 36,\n        \"padding_bottom\": 36,\n        \"padding_top_mobile\": 24,\n        \"padding_bottom_mobile\": 20,\n        \"color_heading\": \"#000000\",\n        \"gradient_heading\": \"\",\n        \"color_text\": \"#000000\",\n        \"color_highlight_text\": \"#da2127\",\n        \"color_caption\": \"#000000\",\n        \"color_countdown\": \"#000000\",\n        \"color_icon\": \"#000000\",\n        \"color_button_text\": \"#ffffff\",\n        \"color_button\": \"#000000\",\n        \"background_container\": \"#ffffff\",\n        \"gradient_background_container\": \"\",\n        \"background_section\": \"#ffffff\",\n        \"gradient_background_section\": \"\",\n        \"enable_parallax_scrolling_effect\": true,\n        \"overlay_color\": \"#1e40af\"\n      }\n    },\n    \"yg_product_info_EjrzM7\": {\n      \"type\": \"yg-product-info\",\n      \"custom_css\": [\n        \".yg-section-title {font-weight: 700;}\"\n      ],\n      \"name\": \"YG Product Info\",\n      \"settings\": {\n        \"enable_section_box_layout\": true,\n        \"metafields_handle\": \"specification\",\n        \"color_background\": \"#f7f8fa\",\n        \"title\": \"Specifications\",\n        \"heading_size\": \"h2\",\n        \"heading_alignment\": \"center\",\n        \"background\": \"#ffffff\",\n        \"layout_position\": \"row\",\n        \"padding_top\": 96,\n        \"padding_bottom\": 0,\n        \"padding_top_mobile\": 48,\n        \"padding_bottom_mobile\": 0\n      }\n    },\n    \"yg_product_compare_7McVtW\": {\n      \"type\": \"yg-product-compare\",\n      \"name\": \"YG product compare\",\n      \"settings\": {\n        \"title\": \"Kobra X Series Tech Specs\",\n        \"heading_size\": \"h2\",\n        \"products\": [\n          \"kobra-x-combo-3d-printer\",\n          \"kobra-x\",\n          \"kobra-3-v2\"\n        ],\n        \"collection\": \"\",\n        \"show_more_text\": \"Expand\",\n        \"show_less_text\": \"Contract\",\n        \"compare_button_text\": \"Compare 3D Printers\",\n        \"link\": \"\",\n        \"enable_section_box_layout\": true,\n        \"color_scheme\": \"scheme-27cea995-fe62-4585-89af-3a2a251ef1de\",\n        \"padding_top\": 0,\n        \"padding_bottom\": 96,\n        \"padding_top_mobile\": 0,\n        \"padding_bottom_mobile\": 48\n      }\n    },\n    \"1750386499b189b208\": {\n      \"type\": \"apps\",\n      \"blocks\": {\n        \"kudosi_ali_reviews_widget_box_fBMmi7\": {\n          \"type\": \"shopify:\/\/apps\/ali-reviews\/blocks\/widget-box\/bf2eea72-0400-4db1-8908-44b7418f9a88\",\n          \"settings\": {\n            \"product\": \"kobra-x\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"kudosi_ali_reviews_widget_box_fBMmi7\"\n      ],\n      \"settings\": {\n        \"include_margins\": true\n      }\n    },\n    \"yg_faq_LmBi6m\": {\n      \"type\": \"yg-faq\",\n      \"blocks\": {\n        \"collapsible_row_xRYPrU\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q1: What do the [1][2][3][4][5] annotations in the product details mean?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA‌：[1] Supports multicolor filament system for creations with 4+ colors, minimizing material waste; actual time savings may vary depending on user operation and environmental conditions.\u003cbr\u003e[2] Under ambient conditions of 25°C \/ 60% RH, the printer maintained good print quality during a continuous 24-hour test using PLA+PVA. It also supports multi-material printing with PLA+TPU (68D) at maximum settings. Data sourced from Anycubic Lab.\u003cbr\u003e[3] The top-mounted spool holder and filament form a natural damping system that absorbs vibrations, effectively minimizing machine oscillation during printing for improved results.\u003cbr\u003e[4] The noise level data above was measured by Anycubic Lab at 1 meter in front of the printer. Minor variations between measured and advertised noise levels are normal due to unit-to-unit differences.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_9xegGi\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q2: What materials can the Kobra X Combo print with?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: Single material printing: PLA, PETG, TPU(95A\/64D\/68D), PVA, ABS;\u003cbr\u003eMulti-material printing: PLA + TPU(68D), PLA + PVA, TPU(68D) + TPU(68D)\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_U6ACzi\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q3: What are the machine dimensions of the Kobra X Combo?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: The dimension of the Kobra X is: 455.4 x 445.3 x 461.3 mm³;\u003cbr\u003eThe dimension of the ACE 2 Pro is: 368 x 291.5 x 236.5 mm³;\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_7tGhNg\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q4: What is the maximum number of colors supported by the Kobra X Combo?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: Start with 7-color printing. By combining four ACE 2 Pro to achieve 19-color printing.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_xBK9U3\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q5: What equipment is required for 19-color printing?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eIt requires three 8-color filament hubs and one 2-color filament hub to achieve 19-color printing.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_VV9Di8\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q6: What are the differences between the ACE 2 Pro and the first-generation ACE Pro?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: The ACE 2 Pro supports high-temperature drying at 65℃ while printing and features temperature and humidity detection, along with sealed storage and an electromagnetic valve that actively removes moisture. \u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_NAfPeY\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q7: What is the ACE GEN 2 technology?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: ACE Gen2 is an integrated multicolor printing technology that combines filament feeding and multicolor switching functions, effectively reducing material change time, waste, and system complexity, delivering a more efficient and stable multicolor printing experience.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_86fKJf\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q8: Is the Kobra X Combo compatible with the ACE Pro from the first-generation Kobra 3\/Kobra S1\/Kobra 3 Max?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: Kobra X Combo does not support ACE Pro.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_4QMnTP\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q9: What is the material of the Kobra X Combo's hotend nozzle?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: Hardened steel. Kobra X Combo comes pre-installed with a 0.4mm hardened steel nozzle. It also supports optional 0.25mm brass and 0.6mm \/ 0.8mm hardened steel nozzles.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_Qi6URJ\": {\n          \"type\": \"collapsible_row\",\n          \"settings\": {\n            \"heading\": \"Q10: Does the Kobra X Combo support a multilingual interface?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: Now supports Chinese, English, German, Russian, Spanish, French, Italian, Korean, Japanese, and Portuguese.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_EmJAyg\": {\n          \"type\": \"collapsible_row\",\n          \"disabled\": true,\n          \"settings\": {\n            \"heading\": \"Q11: How does the deposit voucher work?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eA: \u003cbr\u003e1. Validity Period: Valid from January 15, 2025, to March 31, 2026 (Applicable to Early Bird and Fantastic Weeks pricing tiers).\u003cbr\u003e2. Applicable Product: Valid only for the Anycubic Kobra X purchased on the Australia official store.\u003cbr\u003e3. Usage Limit: Only one deposit voucher can be applied per order.  \u003cbr\u003e4. One-Time Use: Each voucher is single-use only and will be void after redemption.\u003cbr\u003e5. Non-Transferable: The voucher is bound to the email address used to place the deposit and cannot be transferred to another user.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_bN3VT4\": {\n          \"type\": \"collapsible_row\",\n          \"disabled\": true,\n          \"settings\": {\n            \"heading\": \"Q12: Do I still get a warranty if I pre-order?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eOf course! All pre-order units include our full after-sales service and warranty. Your warranty period only starts the day you receive the printer, so you don't lose any time while waiting for delivery.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_4EyVaA\": {\n          \"type\": \"collapsible_row\",\n          \"disabled\": true,\n          \"settings\": {\n            \"heading\": \"Q13: Where can I track my order status?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eThis page will contain your shipment info. You can also log into your account or contact our 24\/7 \u003ca href='\\\"https:\/\/www.anycubic.com\/en\/SupportCenter\/HelpForm\\\"' title='\\\"https:\/\/www.anycubic.com\/en\/SupportCenter\/HelpForm\\\"'\u003eCustomer Service\u003c\/a\u003e for a status update.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_tEzycD\": {\n          \"type\": \"collapsible_row\",\n          \"disabled\": true,\n          \"settings\": {\n            \"heading\": \"Q14: I'm ready to print! Where should I start?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003eVisit \u003ca href='\\\"https:\/\/www.makeronline.com\/en\/\\\"' title='\\\"https:\/\/www.makeronline.com\/en\/\\\"'\u003eMakeronline\u003c\/a\u003e! You can browse over 100,000 ready-to-print designs. The Kobra X supports one-click printing with pre-optimized profiles for the best results right out of the box.\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        },\n        \"collapsible_row_jkrFxX\": {\n          \"type\": \"collapsible_row\",\n          \"disabled\": true,\n          \"settings\": {\n            \"heading\": \"Q15: What do the [1][2][3][4][5] annotations in the product details mean?\",\n            \"icon\": \"none\",\n            \"row_content\": \"\u003cp\u003e‌[1] Supports multicolor filament system for creations with 4+ colors, minimizing material waste; actual time savings may vary depending on user operation and environmental conditions.\u003cbr\u003e[2] Under ambient conditions of 25°C \/ 60% RH, the printer maintained good print quality during a continuous 24-hour test using PLA+PVA. It also supports multi-material printing with PLA+TPU (68D) at maximum settings. Data sourced from Anycubic Lab.\u003cbr\u003e[3] The top-mounted spool holder and filament form a natural damping system that absorbs vibrations, effectively minimizing machine oscillation during printing for improved results.\u003cbr\u003e[4] The noise level data above was measured by Anycubic Lab at 1 meter in front of the printer. Minor variations between measured and advertised noise levels are normal due to unit-to-unit differences.\u003cbr\u003e[5] Data provided by Anycubic Lab\u003c\/p\u003e\",\n            \"page\": \"\"\n          }\n        }\n      },\n      \"block_order\": [\n        \"collapsible_row_xRYPrU\",\n        \"collapsible_row_9xegGi\",\n        \"collapsible_row_U6ACzi\",\n        \"collapsible_row_7tGhNg\",\n        \"collapsible_row_xBK9U3\",\n        \"collapsible_row_VV9Di8\",\n        \"collapsible_row_NAfPeY\",\n        \"collapsible_row_86fKJf\",\n        \"collapsible_row_4QMnTP\",\n        \"collapsible_row_Qi6URJ\",\n        \"collapsible_row_EmJAyg\",\n        \"collapsible_row_bN3VT4\",\n        \"collapsible_row_4EyVaA\",\n        \"collapsible_row_tEzycD\",\n        \"collapsible_row_jkrFxX\"\n      ],\n      \"name\": \"YG FAQ\",\n      \"settings\": {\n        \"section_width\": \"grid\",\n        \"title\": \"FAQs\",\n        \"subtitle\": \"\",\n        \"heading_size\": \"h2\",\n        \"enable_section_box_layout\": true,\n        \"color_scheme\": \"\",\n        \"open_first_collapsible_row\": false,\n        \"open_all_collapsible_row\": false,\n        \"hide_image_on_mobile\": false,\n        \"image_ratio\": \"adapt\",\n        \"desktop_layout\": \"image_second\",\n        \"block_title_size\": \"text-base\",\n        \"padding_top\": 80,\n        \"padding_bottom\": 80\n      }\n    }\n  },\n  \"order\": [\n    \"main\",\n    \"yg_anchor_tab_WHGK7n\",\n    \"video_HbrBV3\",\n    \"yg_image_list_dNVcBE\",\n    \"yg_image_switch_Mbnkk4\",\n    \"rich_text_4hyyiq\",\n    \"yg_slideshow_iY7dNR\",\n    \"yg_image_list_xLtBUq\",\n    \"custom_liquid_MJgjd8\",\n    \"custom_liquid_nnnxiF\",\n    \"custom_liquid_dDzryf\",\n    \"rich_text_thziCb\",\n    \"image_banner_CVdJgG\",\n    \"multicolumn_Rr4jf9\",\n    \"custom_liquid_AjEbGr\",\n    \"yg_grid_box_qRRtyf\",\n    \"image_with_text_A8MXrT\",\n    \"image_with_text_bytyDX\",\n    \"yg_download_grid_KPrBW3\",\n    \"rich_text_mdmErc\",\n    \"image_with_text_7NAA8U\",\n    \"yg_product_info_EjrzM7\",\n    \"yg_product_compare_7McVtW\",\n    \"1750386499b189b208\",\n    \"yg_faq_LmBi6m\"\n  ]\n}\n","brand":"ANYCUBIC","offers":[{"title":"Kobra X Combo (7 色) \/ 無","offer_id":48610739716352,"sku":"KBXCWH0A+ACC-R","price":78799.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ +PLA*4","offer_id":48610739749120,"sku":"KBXCWH0A+4HPL-R","price":87298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ +PETG*4","offer_id":48610739781888,"sku":"KBXCWH0A+4HPE-R","price":86498.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ +PLA High Speed*4","offer_id":48610739814656,"sku":"KBXCWH0A+4HHS-R","price":87498.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo (7 色) \/ +PLA Special*4","offer_id":48610739880192,"sku":"KBXCWH0A+4HPT-R","price":87298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色) \/ 無","offer_id":48610740011264,"sku":"KBXCWH0A+DS20BK2A-R","price":113398.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色) \/ +PLA*4","offer_id":48610740044032,"sku":"KBXCWH0A+4HPL+DS20BK2A-R","price":121897.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色) \/ +PETG*4","offer_id":48610740076800,"sku":"KBXCWH0A+4HPE+DS20BK2A-R","price":121097.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色) \/ +PLA High Speed*4","offer_id":48610740109568,"sku":"KBXCWH0A+4HHS+DS20BK2A-R","price":122097.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*1 (11 色) \/ +PLA Special*4","offer_id":48610740175104,"sku":"KBXCWH0A+4HPT+DS20BK2A-R","price":121897.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ 無","offer_id":48610740306176,"sku":"KBXCWH0A+3DS20BK2A-R","price":182596.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ +PLA*4","offer_id":48610740338944,"sku":"KBXCWH0A+4HPL+3DS20BK2A-R","price":191095.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ +PETG*4","offer_id":48610740371712,"sku":"KBXCWH0A+4HPE+3DS20BK2A-R","price":190295.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ +PLA High Speed*4","offer_id":48610740404480,"sku":"KBXCWH0A+4HHS+3DS20BK2A-R","price":191295.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra X Combo + ACE 2 Pro*3 (19 色) \/ +PLA Special*4","offer_id":48610740470016,"sku":"KBXCWH0A+4HPT+3DS20BK2A-R","price":191095.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/KXC-1-JP.jpg?v=1788937989"},{"product_id":"photon-p1-max-best-large-resin-3d-printer","title":"Anycubic Photon P1 Max","description":"\u003cp\u003eAnycubic Photon P1 Max\u003c\/p\u003e","brand":"ANYCUBIC","offers":[{"title":"単品 \/ 無","offer_id":48633090048256,"sku":"PP1MBK0B-R","price":134099.0,"currency_code":"JPY","in_stock":true},{"title":"単品 \/ 1kg ランダムレジン","offer_id":48633090081024,"sku":"PP1MBK0B1000-R","price":136662.0,"currency_code":"JPY","in_stock":false},{"title":"単品 \/ 4kg Standardレジン","offer_id":48633090113792,"sku":"PP1MBK0B4000-R","price":141943.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 無","offer_id":48633090244864,"sku":"PP1MBK0B+WS3LA0WH-R","price":156098.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Plus \/ 1kg ランダムレジン","offer_id":48633090277632,"sku":"PP1MBK0B1000+WS3LA0WH-R","price":158661.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Plus \/ 4kg Standardレジン","offer_id":48633090310400,"sku":"PP1MBK0B4000+WS3LA0WH-R","price":163942.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max (🔥1点あたり47199円) \/ 無","offer_id":48633090441472,"sku":"PP1MBK0B+WC3MWH0A-R","price":181298.0,"currency_code":"JPY","in_stock":true},{"title":"Wash \u0026 Cure 3 Max (🔥1点あたり47199円) \/ 1kg ランダムレジン","offer_id":48633090474240,"sku":"PP1MBK0B1000+WC3MWH0A-R","price":183861.0,"currency_code":"JPY","in_stock":false},{"title":"Wash \u0026 Cure 3 Max (🔥1点あたり47199円) \/ 4kg Standardレジン","offer_id":48633090507008,"sku":"PP1MBK0B4000+WC3MWH0A-R","price":189142.0,"currency_code":"JPY","in_stock":false},{"title":"P1 Max*2 \/ 無","offer_id":48996993696000,"sku":"PP1MBK0B+PP1MBK0B-R","price":268198.0,"currency_code":"JPY","in_stock":true},{"title":"P1 Max*2 \/ 1kg ランダムレジン","offer_id":48996993728768,"sku":"PP1MBK0B+PP1MBK0B1000-R","price":270761.0,"currency_code":"JPY","in_stock":false},{"title":"P1 Max*2 \/ 4kg Standardレジン","offer_id":48996993761536,"sku":"PP1MBK0B+PP1MBK0B4000-R","price":276042.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/P1M-JP.jpg?v=1788937907"},{"product_id":"kobra-s1-ace-2-pro-combo-3d-printer","title":"Anycubic Kobra S1 ACE 2 Pro Combo","description":"","brand":"ANYCUBIC","offers":[{"title":"Kobra S1 ACE 2 Pro Combo (4 色) \/ 無","offer_id":48633338724608,"sku":"KS2CBK0A-R","price":86699.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo (4 色) \/ 4KG PETG","offer_id":48633338757376,"sku":"KS2CBK0A+4HPE-R","price":94398.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo (4 色) \/ 4KG PLA High Speed","offer_id":48633338790144,"sku":"KS2CBK0A+4HHS-R","price":95398.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo (4 色) \/ 4KG PLA Special","offer_id":48633338855680,"sku":"KS2CBK0A+4HPT-R","price":95198.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo (4 色) \/ 8KG フィラメント","offer_id":48633338953984,"sku":"KS2CBK0A+8PLA-R","price":100298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo + ACE 2 Pro (8 色) \/ 無","offer_id":48633338986752,"sku":"KS2CBK0A+DS20BK2A-R","price":121298.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo + ACE 2 Pro (8 色) \/ 4KG PETG","offer_id":48633339019520,"sku":"KS2CBK0A+DS20BK2A+4HPE-R","price":128997.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo + ACE 2 Pro (8 色) \/ 4KG PLA High Speed","offer_id":48633339052288,"sku":"KS2CBK0A+DS20BK2A+4HHS-R","price":129997.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo + ACE 2 Pro (8 色) \/ 4KG PLA Special","offer_id":48633339117824,"sku":"KS2CBK0A+DS20BK2A+4HPT-R","price":129797.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra S1 ACE 2 Pro Combo + ACE 2 Pro (8 色) \/ 8KG フィラメント","offer_id":48633339216128,"sku":"KS2CBK0A+DS20BK2A+8PLA-R","price":134897.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/S1CV2_478dc666-12b0-459c-9e27-a4728e6cd316.jpg?v=1788937839"},{"product_id":"kobra-3-max-v2-combo-3d-printer","title":"Anycubic Kobra 3 Max V2 Combo","description":"","brand":"ANYCUBIC","offers":[{"title":"Kobra 3 Max V2 Combo (4 色) \/ 無","offer_id":49549157335296,"sku":"K3M2DS2HZ-R","price":94599.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo (4 色) \/ 4KG PETG(⚡️ 1740円)","offer_id":49549157368064,"sku":"K3M2DS2HZ+4HPE-R","price":96339.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo (4 色) \/ 4KG PLA High Speed(⚡️ 1740円)","offer_id":49549157400832,"sku":"K3M2DS2HZ+4HHS-R","price":96339.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo (4 色) \/ 4KG PLA Special(⚡️ 1740円)","offer_id":49549157433600,"sku":"K3M2DS2HZ+4HPT-R","price":96339.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo (4 色) \/ 4KG PLA Silk(⚡️ 1740円)","offer_id":49549157466368,"sku":"K3M2DS2HZ+4HSC-R","price":96339.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo (4 色) \/ 8KG フィラメント","offer_id":49551437136128,"sku":"K3M2DS2HZ+8PLA-R","price":109798.0,"currency_code":"JPY","in_stock":true},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 無","offer_id":49549157499136,"sku":"K3M2DS2HZ+KB4CBK0A-R","price":141838.0,"currency_code":"JPY","in_stock":false},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 4KG PETG(⚡️ 1740円)","offer_id":49549157531904,"sku":"K3M2DS2HZ+KB4CBK0A+4HPE-R","price":143578.0,"currency_code":"JPY","in_stock":false},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 4KG PLA High Speed(⚡️ 1740円)","offer_id":49549157564672,"sku":"K3M2DS2HZ+KB4CBK0A+4HHS-R","price":143578.0,"currency_code":"JPY","in_stock":false},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 4KG PLA Special(⚡️ 1740円)","offer_id":49549157597440,"sku":"K3M2DS2HZ+KB4CBK0A+4HPT-R","price":143578.0,"currency_code":"JPY","in_stock":false},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 4KG PLA Silk(⚡️ 1740円)","offer_id":49549157630208,"sku":"K3M2DS2HZ+KB4CBK0A+4HSC-R","price":143578.0,"currency_code":"JPY","in_stock":false},{"title":"大きい＋スタンダード バンドル（7900円割引） \/ 8KG フィラメント","offer_id":49551437168896,"sku":"K3M2DS2HZ+KB4CBK0A+8PLA-R","price":157037.0,"currency_code":"JPY","in_stock":false},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 無","offer_id":49549157662976,"sku":"K3M2DS2HZ+DS20BK1A-R","price":129198.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 4KG PETG(⚡️ 1740円)","offer_id":49549157695744,"sku":"K3M2DS2HZ+DS20BK1A+4HPE-R","price":130938.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 4KG PLA High Speed(⚡️ 1740円)","offer_id":49549157728512,"sku":"K3M2DS2HZ+DS20BK1A+4HHS-R","price":130938.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 4KG PLA Special(⚡️ 1740円)","offer_id":49549157761280,"sku":"K3M2DS2HZ+DS20BK1A+4HPT-R","price":130938.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 4KG PLA Silk(⚡️ 1740円)","offer_id":49549157794048,"sku":"K3M2DS2HZ+DS20BK1A+4HSC-R","price":130938.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2 Combo + ACE 2 Pro (8 色) \/ 8KG フィラメント","offer_id":49551437201664,"sku":"K3M2DS2HZ+DS20BK1A+8PLA-R","price":144397.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 無","offer_id":49549157826816,"sku":"K3M2BK0A-R","price":67799.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 4KG PETG(⚡️ 1740円)","offer_id":49549157859584,"sku":"K3M2BK0A+4HPE-R","price":69539.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 4KG PLA High Speed(⚡️ 1740円)","offer_id":49549157892352,"sku":"K3M2BK0A+4HHS-R","price":69539.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 4KG PLA Special(⚡️ 1740円)","offer_id":49549157925120,"sku":"K3M2BK0A+4HPT-R","price":69539.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 4KG PLA Silk(⚡️ 1740円)","offer_id":49549157957888,"sku":"K3M2BK0A+4HSC-R","price":69539.0,"currency_code":"JPY","in_stock":true},{"title":"Kobra 3 Max V2（ACE 2 Pro なし） \/ 8KG フィラメント","offer_id":49551437234432,"sku":"K3M2BK0A+8PLA-R","price":82998.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0819\/9343\/3344\/files\/K3MCV2-JP.jpg?v=1788937722"}],"url":"https:\/\/anycubic.jp\/collections\/3d-printers.oembed","provider":"ANYCUBIC-JP","version":"1.0","type":"link"}